⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classdemo.java

📁 java写的一个反射的例子 大家看看 虽u然小 但能是说明问题
💻 JAVA
字号:
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
class person{
	public void print(){
		System.out.println ("aa");
	}
}
class teacher extends person{
public void print(){
		System.out.println ("teacher");
	}	
}
class student extends person{
String name;
int age=59;
student(){
	System.out.println ("aaa");
}
student(String name){
	this.name=name;
}
public void print(){
		System.out.println (name);
	}
public int add1(int a,int b){
	return a+b+age;
}
public int add2(){
	return age;
}
public static int add3(int a){
	return a;
}
public static int add4(){
	return 100;
	
} 
	
	
}

class test{
	public static void main (String[] args) {
  try {
  	//student ss=new student();
  	String name=args[0];
  	Class cc=Class.forName(name);
  	// 通过class.newInstance();实际调用了不带参数的构造方法
  	
  	Object o=cc.newInstance();
  	
  	Constructor constr=cc.getDeclaredConstructor(new Class[]{String.class});
    Object ccc=	constr.newInstance(new Object[]{"kllllll"});
  //	Method method=cc.getDeclaredMethod("add1",new Class[]{int.class,int.class});
  	Method method=cc.getDeclaredMethod("add3",new Class[]{int.class});
  	//	Method method=cc.getDeclaredMethod("add2",null);
  	Object oo=method.invoke(null, new Object[]{50});
  	System.out.println ((Integer)oo);
  	
  	
  	
  	person pp=(person)ccc;
  	pp.print();
  	
  	
    
}
catch (Exception ex) {
	ex.printStackTrace();
}
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -