java怎样获得一个对象的类型

java怎样获得一个对象的类型,第1张

java中获取一个对象可以使用单例模式,实例如下:

Class A:

public class A {

 

 public void SayHello() {

  Systemoutprintln("Say Hello From Class A");

 }

 public static A getInstanceOfA() {

  return new A();//A类中A的实例变量

 }

 private A(){}

}

Class B:

public class B {

 public static void main(String[] args) {

 A a = AgetInstanceOfA();//返回的是A类中的A的实例变量

  aSayHello();//调用A中的SayHello方法

 }

}

java是不支持在运行中进行强制转化的! 如果事先知道类型,可以通过强制转化实现! 如果不知道! 可以采用这种方式!

String className = objgetClass()getName(); 得到类名

然后:

A a = (A)ClassforName(className)newInstance();

//上面这句话的意思是,forName(className):静态加载className这个类;

// newInstance(),实例化一个对象

// A 代表你知道的这人类或者这个类的父类, 把强制转化成你所要的对象。

这和你

A a = new A();

是一样的效果!

泛型的类型是无法在运行时通过反射取得的,泛型类型在编译成字节码的时候已经被虚拟机给去掉了,只是起到提示编译器进行类型检查的作用

用这种方法你试一试:父类:import javalangreflectParameterizedType;

public class Parent<T {

public Parent() {

ParameterizedType type = (ParameterizedType)thisgetClass()getGenericSuperclass();

Systemoutprintln("type==" + type);

Systemoutprintln("entityClass==" + typegetActualTypeArguments()[0]);

Systemoutprintln("getOwnerType==" + typegetOwnerType());

Systemoutprintln("getRawType==" + typegetRawType());}}子类:public class Child<T extends Parent<String {

以上就是关于java怎样获得一个对象的类型全部的内容,包括:java怎样获得一个对象的类型、java 如何通过对象获取对象类全名、java泛型该怎么深继承 amp;怎么获得数组的class对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9551958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存