
给你写了3个类:
A类:
package cntest;public class A {
public void test(){
Systemoutprintln(thisgetClass());
Systemoutprintln(thisgetClass()getSimpleName());
Systemoutprintln(thisgetClass()getName());
}
}
B类:
package cntest;public class B extends A{
}
Test类:
package cntest;public class Test {
/
@param args
/
public static void main(String[] args) {
B b = new B();
btest();
}
}
结果:
class cntestB
B
cntestB
你要知道,在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来时的那个类型的实例对象,所以在父类中你可以中this获取到子类的信息!
不止一层继承关系时,你可以根据下面:
A类:
package cntest;public class A {
public void test(){
Systemoutprintln(thisgetClass());
Systemoutprintln(thisgetClass()getSimpleName());
Systemoutprintln(thisgetClass()getName());
Systemoutprintln(thisgetClass()getSuperclass());
Systemoutprintln(thisgetClass()getSuperclass()getSimpleName());
Systemoutprintln(thisgetClass()getSuperclass()getName());
}
}
B类:
package cntest;public class B extends A{
B(){
// Systemoutprintln("B");
}
}
C类:
package cntest;public class C extends B{
C(){
// Systemoutprintln("C");
}
}
Test类:
package cntest;public class Test {
/
@param args
/
public static void main(String[] args) {
C c = new C();
ctest();
}
}
结果:
class cntestC
C
cntestC
class cntestB
B
cntestB
以上就是关于java 父类如何在运行期动态获取子类类名全部的内容,包括:java 父类如何在运行期动态获取子类类名、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)