转自(java rulers)
1.作用域内的局部类,例如:
void a(){
class A{};
System.out.print(A.class);
}
2.作用域内的成员类型,例如:
class A{
class B{}
void a(){
System.out.print(B.class);
}
}
3.具有相同类型名的继承来的成员类型,例如:
class A{
class B{}
}
class C extends A{
void a(){
System.out.print(B.class);
}
}
4.定义在同一个编译单元中的包成员,例如:
//类A文件中
class B(){}
class A(){
void a(){
System.out.print(B.class);
}
}
5.使用单类型导入声明导入的类型,例如:
import *.*.B;
class A{
void a(){
System.out.print(B.class);
}
}
6.同一包中的类型声明,例如:
//在包a中声明的两个类
class B{}
class A{
void a(){
System.out.print(B.class);
}
}
7.使用按需导入的类型,例如:
import *.*.*;
//*.*中有类B
class A{
void a(){
System.out.print(B.class);
}
}