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

静态内部类不能直接访问外部类的非静态成员,那如何通过 new 外部类().成员 的方式访问 的?求代码

关于Java第二季2-8Java中的静态内部类的特点1:静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 。关于如何通过“new 外部类().成员 ”的方式访问 的?求代码解答一下

正在回答

2 回答

public  class a{

  public int c = 22;

  static class b{

  public b(){

    System.out.println(new a().c);

      }

   }

}



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

_天微凉_ 提问者

package com.imooc.second; public class Telephone { int num = 100; public Telephone(){ System.out.println("com.imooc.second.Telephone");} public static class SInner(){ public void test(){ System.out.println(new Telephone().num); }}} 麻烦哥给看看这段代码哪里出错了,为啥public static class SInner(){这句中的class下回出现红线
2015-02-09 回复 有任何疑惑可以回复我~
#2

诗雨若枫 回复 _天微凉_ 提问者

只能有一个公共类,把类 SInner前的public去掉
2015-02-10 回复 有任何疑惑可以回复我~
#3

诗雨若枫 回复 诗雨若枫

后面的括号也去掉
2015-02-10 回复 有任何疑惑可以回复我~
#4

诗雨若枫 回复 诗雨若枫

哦,如果你这是内部类的话不用去掉public,如果不是内部类,而是在一个文件里的两个类的话需要去掉public
2015-02-10 回复 有任何疑惑可以回复我~
#5

诗雨若枫 回复 _天微凉_ 提问者

哦,如果你这是内部类的话不用去掉public,如果不是内部类,而是在一个文件里的两个类的话需要去掉public
2015-02-10 回复 有任何疑惑可以回复我~
#6

阿标ab 回复 诗雨若枫

厉害啊
2016-05-16 回复 有任何疑惑可以回复我~
查看3条回复

public  class a{

  public int c = 22;

  static class b{

  public b(){

    System.out.println(new MemoryGame().c);

      }

   }

}



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

诗雨若枫

这个MemoryGame错了,忘改了
2015-02-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

静态内部类不能直接访问外部类的非静态成员,那如何通过 new 外部类().成员 的方式访问 的?求代码

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