java同名类
A. java 允许类定义与类同名的成员变量吗
类A定义一个A类型的成员变量,可以这样做吗?什么意思?
可以的A类里面可以有一个A类型的成员的,
效果是如果你将这个类实例化为a后,就有了一个a.A的成员了
那是不是就有a.A.A.A.A....呢,不会的因为成员是类的话此成员就只是一个引用而已,
这个引用必须赋值后才能使用,
如果直接访问a.A.A的话其值为null
再往后的.A就更不用考虑了
B. java同名类报错
貌似你用的两个文件夹分割的这些类,0417和这个0418都是默认包,同一个包不能有同名的类。给上面的新建包,0417,下面的新建包0418,这样不同的包下是可以有同名的类的,不过最好不用同名的类,很麻烦的
C. java中定义多个同名类的疑问
classA{
voidm(){
System.out.println("outer");
}
}
publicclassTestInners{
publicstaticvoidmain(String[]args){
newTestInners().go();
}
voidgo(){
newA().m();
classA{
voidm(){
System.out.println("inner");
}
}
}
classA{
voidm(){
System.out.println("middle");
}
}
}
执行结果是:c middle
调用go()方法在new A()对象首先找的是TestInners的内部类A,new A()动作发生在局部内部类A之前,所以new A()创建的是TestInners中内部类A的实例,调用m()输出的是“middle”
D. java中,怎么在一个包中引用另一个包的同名类
你好,
根据你的问题,两个包里面类名相同,默认会调用当前类,如真要引用,只能用下面方法
cn.fancy.p1.A
a=new
cn.fancy.p1.A();//用它的权限定名来确认是p1下面的A
希望我的回答能帮到你
E. java 不同包有同名类时 如何调用某一同名类的静态成员(方法)
那就利用包名+类名+静态成员(方法)来作为该成员的唯一标示即可
比如包apackage中有类AClass,其有static方法funa()
包bpackage中也有类AClass,其中有static方法funb()
(当然这种情况当且仅当两个包都被引用到时才需要,如果只引入了其中一个包则不需要用包名+类名引用)
当两个包都被引用时为区分两个AClass
则可以这么写
apackage.AClass.funa();
bpackage.AClass.funb();
F. java 如何由字符串得到和字符串同名的类
利用java的反射技术,Class.forName(String
className),参数是字符串类型
往里面传入类名
,就会在内存中加载对应的类的字节码文件,然后再调用newInstance()方法,就能创建该类的实例对象.