📄 classdemo.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 + -