验证中...
8月18日(周六)成都源创会火热报名中,四位一线行业大牛与你面对面,探讨区块链技术热潮下的冷思考。
语言: Java
分类: 编程语言基础
最后更新于 2018-05-20 20:20
片段 1 片段 2
gistfile1.txt
原始数据 复制代码
import java.lang.reflect.Method;
import java.util.Scanner;
/**
* 1、getMethods返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口的公共 member 方法。
* 2、getDeclaredMethods返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,
* 包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。
* 也就是说getDeclaredMethods能拿到所有(不包括继承的方法),而getMethods只能拿到public方法(包括继承的类或接口的方法)
* @author Administrator
*反射机制
*/
import Demo2.emple.Student;
/**
* 反射机制
* @author k73
*编译时 不知道传入参数的类型是什么,就需要使用反射机制
*
*TCP和UDP区别
*TCP是传输控制协议。是面向连接,传输可靠的传输协议,应用场景 例如FTP HTTP
*UDP是用户数据报文协议,不是面向连接,给予数据包传递的传输层协议,不保证数据包
*一定传输给 接收方 例如: 视频直播 可以使用这个协议
*/
public class Test1 {
/**
* 反射是运动的 动态
* @param args
*/
public static void main(String[] args) {
//1.通过类名获取
Class clazz=Student.class;
//2.通过实例获取
Student s=new Student();
Class clazz2=s.getClass();
//3.通过全限定类名(包名+类名)
try {
Class clazz3=Class.forName("Demo2.emple.Student");
try {
Object instance=clazz3.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//实例化对象
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//4.定义包装类
Class clazz4=Integer.TYPE;
Class clazz42=Boolean.TYPE;
//动态获取方法内容 ,无法得到继承的方法 注意是数组
Method [] methods=clazz.getDeclaredMethods();
Method [] methods2=clazz2.getMethods();
for(Method m:methods){
System.out.println(m.getName());
}
}
}
gistfile2.txt
原始数据 复制代码
package Demo2.emple;
public class Student{
/*String name;
int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}*/
void kill(){
}
}
包装类有四种方法;
其他类有三种方法

评论列表( 0 )

你可以在登录后,发表评论