为了账号安全,请及时绑定邮箱和手机立即绑定

这个语法我没看懂 能通过代码呈现出来么

 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

正在回答

2 回答

package imooc_2.encapsulation.lnnerclass;


public class StaticInnerClass {
   private static int Score=84;
   private  int Age=20;
   //静态内部类
   public static class Inner{
       private int sum=10;
       int a=21;
       public void show(){
           StaticInnerClass staticInnerClass=new StaticInnerClass();
           System.out.println("静态内部类调用外部类的静态成员变量"+Score);
           System.out.println("静态内部类调用外类的成员变量"+new StaticInnerClass().Age);
           System.out.println("静态内部类调用外类的成员变量"+staticInnerClass.Age);
           System.out.println("静态内部类调用内部类中的静态成员变量"+sum);
           System.out.println("静态内部类调用内部类中的成员变量"+a);
       }
   }
   public static void main(String[] args) {
       Inner inner=new Inner();//静态内部类能直接创建
       inner.show();
   }
}

0 回复 有任何疑惑可以回复我~

其实很简单的道理,就是static这个关键字的用法。

public static class ,不能访问 public class。但如果非要访问的话,就通过创建新的对象来引用进行操作。

内部类 对象名 = new 内部类();//这里创建了外部类的对象,就可以进行访问了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个语法我没看懂 能通过代码呈现出来么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信