今天做了一道题,总结内部类与外部类、内部类与外部其他类、类与类访问关系
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;
}
}
}
|
|