A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天做了一道题,总结内部类与外部类、内部类与外部其他类、类与类访问关系
public class Demo
{

        public static void main(String[] args)
        {
               
                //int y=new A().x;//其他类访问类中的成员格式(A中x)
                //int y=new A().new B().x;//外部其他类访问类中的内部类成员格式(B中x)               
                int y=new A().new B().func();//(func()中x)
                System.out.println(y);
        }

}
class A
{
        //int y=new B().x;//外部类访问内部类成员格式(B中x)
        int x = 1;
        int y = 2;
        class B
        {
                //int z=y;//内部类可以直接访问外部类成员(A中y)
                //int z=new A().x;//内部类存在同名变量时,不可以直接访问外部类成员了,(A中x)
                                             //因为你在内部类中已经定义了这个变量,jvm分不清你要用哪个。
                int x = 2;
                public int func()
                {
                        //int y=new A().x;//相当于类访问其他类中的成员(A中x)
                        //int z=x;//同一个类内可以直接访问。(B中x)
                        int x = 3;                        
                        return x;
                       }
           }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马