java-静态内部类

java-静态内部类1

请添加图片描述
请添加图片描述

java-静态内部类2

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
源码
package com.InnerClass;

public class StaticInnerClass {
public static void main(String[] args) {
Outer10 outer10 = new Outer10();
outer10.m1();//输出张三

    //外部其他类 使用静态内部类
    //方式1
    //因为静态内部类 是可以通过类名直接访问(需要遵守访问权限)
    Outer10.Inner10 inner10 = new Outer10.Inner10();
    inner10.say();
    //方式2
    //编写一个方法 可以返回静态内部类的对象实例
    Outer10.Inner10 inner101 = outer10.getInner10();
    System.out.println("====================");
    inner101.say();

    Outer10.Inner10 inner10_ = Outer10.getInner10_();
    System.out.println("*******************");
    inner10_.say();
}

}
class Outer10{//外部类
private int n1 = 10;
private static String name = “张三”;
//Inner10 就是静态内部类
//1. 放在外部类的成员位置
//. 使用 static 修饰
//. 可以直接访问外部类的所有静态成员 包含私有的
//但是不能直接访问 非静态成员
//5. 作用域:同其他的成员 为整个类体

static class Inner10{
    private static String name = "韩顺平教育";
    public void say(){
        //7. 如果外部类和静态内部类的成员重名时 静态内部类访问的是
        //默认遵循就近原则 如果想访问外部类的成员 则可以使用(外部类名.成员)
        System.out.println(name + "外部类name= " + Outer10.name);

    }
}
public void m1(){
    Inner10 inner10 = new Inner10();
    inner10.say();
}
public Inner10 getInner10(){
    return  new Inner10();
}
public static Inner10 getInner10_(){
    return  new Inner10();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值