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

Python019

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

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

Class A:

public class A {

 

 public void SayHello() {

  System.out.println("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 = A.getInstanceOfA()//返回的是A类中的A的实例变量

  a.SayHello()//调用A中的SayHello方法

 }

}

使用getClass方法可以获取一个对象的类型类,然后在调用该类的方法可以获取该类的相关信息,比如父类的名字,该类的名字等等:

package test

import java.lang.reflect.Field

import java.lang.reflect.Method

public class Demo2 {

String username = "sss"

public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException {

Demo2 t = new Demo2()

if (Demo2.class == t.getClass()) {

System.out.println("equal")

}

// 获取类名

System.out.println(t.getClass().getName())

// 获取父类名

System.out.println(t.getClass().getSuperclass())

//获取类中某个属性

Field f = t.getClass().getField("username")

//获取类中某个方法

Method m = t.getClass().getDeclaredMethod("main", String[].class)

}