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

来源:7-7 Java 中的静态内部类

PG_one

2017-10-10 22:47

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

写回答 关注

2回答

  • qq_新一_0
    2017-12-15 11:56:32

    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();
       }
    }

  • Alan_walk
    2017-10-10 23:06:07

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

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

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

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题