不创建实例?这个要求太奇怪了。也许只有jvm知道吧。能问一下为什么要这么做?
或者你可以用这个trick:
public class Test{
public static void main(String[] args) {
try {
Systemoutprintln(args[100000]);
} catch (Exception e) {
Systemoutprintln(egetStackTrace()[0]toString()split("\\main\\(")[0]);
}
}
}
class parent{
/
获取子类的类名
/
public String getClassName(){
return thisgetClass()getSimpleName();
}
//父类中直接调用
String className = getClassName();
}
限定!)利用它的单调性求最值与利用均值不等式
下面是能判断是否指定类的子类。但是要想全部查询。
这个不太可能吧。
Class c = ArrayListclass;
cisPrimitive(); //判断c是否为基本数据类型
cisAssignableFrom(Listclass); //判断c是否是List类的子类或父类
cgetGenericType(); //得到泛型类型
不过呢。你可以看看 eclipse 中的实现。就是你点击一个类。然后按 F4 就能从 "Type Hierarchy"。就能看到所有子类了。你可以搜搜看。
ClassforName()是根据类名称加载类 比如有一个类名为comabcAAA 此处ClassforName(‘comabcAAA ’)newInstance()就会创建一个AAA对象而class一般用来获取类的通用属性 比如AAAclassgetDeclareMethod()是获取AAA类的所有声明的方法 主要用于反射机制
给你写了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如何在main方法中得到(打印)其所在类的类名全部的内容,包括:java如何在main方法中得到(打印)其所在类的类名、java怎么获取某个父类(或接口)的所有子类、java中一个 类.class 发法 获取的描述类的对象,是 否 可以找到其 所有的子类 的名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)