JAVA getClass();getName();的用法??? 新手 问的不清楚 请大家误见笑!!!

来源:百度知道 编辑:UC知道 时间:2024/07/02 02:29:24
我写的是两个父类
父类一
public class Renwu { //人物
double power = Math.random();

void Renwu(Gongju g) {

System.out.println();
}

Renwu() {
}
}
子类一(1)
public class Gongren extends Renwu {//工人

void Renwu(Tieqiao t) {
power = Math.random();
System.out.println();
}

}
子类一(2)
public class Junren extends Renwu { //军人

void Renwu(Qiang q) {
power = Math.random();
System.out.println();
}

Junren() {
}
}
父累二
public class Gongju { //工具
void Gongju(){
System.out.println();
}
Gongju(){}
}
子类二(1)
public class Tieqiao extends Gongju{ //铁锹
void Gongju(){
System.out.println();
}
Tieqiao(){}
}
子类二(2)
public class Qiang extends Gongju{ //枪
void Gongju(){
System.out.println();
}
Qiang(){}
}
求出来的值是:

我回答你的getClass()问题,如果要从类的装载器角度说可能你听不懂,那么说的简单些,如果你要用某个类,那么他和他的父类会在内存有块叫做堆的地方产生这些类的class对象,用于封装该类的信息和该类拥有的方法等数据结构,比如
A a = new A();
Class t = a.getClass()就返回一个A的Class对象,t封装了很多细节,t.getName()会打印A,也就是类的名字,还有t.getMethod(),t.getConstructor,t.getResource()这些很有用的方法,这些都是很有用的利用Java反射机制的方法。
同样利用Class meta = A.class;也可以返回一个A类的class对象