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 testimport 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)
}
}