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

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

明Only

2015-11-13 12:41

    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回答

  • ROC_110
    2015-11-14 17:41:42

    但是我却得到了报错呢:

    //外部类

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

    }

    }



    greenh...

    // 外部类中的静态变量score private int score = 84; // 创建静态内部类 public static class SInner { // 内部类中的变量score int score = 91; int score1= new HelloWorld().score; 也可以通过赋值,把外部非静态对象转化到内部

    2015-12-08 12:43:35

    共 4 条回复 >

  • 明Only
    2015-11-13 12:55:03

    知道了

    明Only

    System.out.println("访问外部类中的score1:" + new HelloWorld1.score2 ) 兄弟你马虎了,应该是 System.out.println("访问外部类中的score1:" + new HelloWorld1().score2 )

    2015-11-16 09:59:31

    共 1 条回复 >

Java入门第二季 升级版

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

530643 学习 · 6091 问题

查看课程

相似问题