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

静态内部类能不能访问非静态外部类啊

    public class p{

        private int a=2;

public static class o{

       int b=3;

public  void show(){

System.out.println(a);

System.out.println(b);................

正在回答

2 回答

但是我却得到了报错呢:

//外部类

public class HelloWorld1 {

  

  // 外部类中的静态变量score

  private static int score = 84;

  private  int score2 = 8;

  // 创建静态内部类

public   static  class SInner {

      // 内部类中的变量score

      int score = 91;

      

public void show() {

System.out.println("访问外部类中的score:" +  HelloWorld1.score );

            System.out.println("访问外部类中的score1:" +  new HelloWorld1.score2 );

System.out.println("访问内部类中的score:" +  score);

}

}


// 测试静态内部类

public static void main(String[] args) {

// 直接创建内部类的对象

      SInner si= new SInner();

   // HelloWorld1 d = new HelloWorld1();

     // SInner so= d.new SInner();

      // 调用show方法

si.show();

}

}



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

明Only 提问者

System.out.println("访问外部类中的score1:" + new HelloWorld1.score2 ) 兄弟你马虎了,应该是 System.out.println("访问外部类中的score1:" + new HelloWorld1().score2 )
2015-11-16 回复 有任何疑惑可以回复我~
#2

ROC_110 回复 明Only 提问者

果然是,之前我想好久都找不到原因,多谢啦
2015-11-16 回复 有任何疑惑可以回复我~
#3

qq_何_8

你HelloWorld1后面掉了个()
2015-11-18 回复 有任何疑惑可以回复我~
#4

greenhandc

// 外部类中的静态变量score private int score = 84; // 创建静态内部类 public static class SInner { // 内部类中的变量score int score = 91; int score1= new HelloWorld().score; 也可以通过赋值,把外部非静态对象转化到内部
2015-12-08 回复 有任何疑惑可以回复我~
查看1条回复

知道了

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

明Only 提问者

System.out.println("访问外部类中的score1:" + new HelloWorld1.score2 ) 兄弟你马虎了,应该是 System.out.println("访问外部类中的score1:" + new HelloWorld1().score2 )
2015-11-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

静态内部类能不能访问非静态外部类啊

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