当前位置: 首页 > news >正文

文明网站的建设与管理的思考seo前景

文明网站的建设与管理的思考,seo前景,网站被劫持应该怎么做,做五金生意什么网站做比较好反射 作用: 对于任意一个对象,把对象所有的字段名和值,保存到文件中去利用反射动态的创造对象和运行方法 1. 获取字节码文件对象 方法描述Class.forName(String)通过类的全限定名字符串获取字节码文件对象。类字面量直接使用类的字面量获…

反射

作用

  • 对于任意一个对象,把对象所有的字段名和值,保存到文件中去
  • 利用反射动态的创造对象和运行方法
1. 获取字节码文件对象
方法描述
Class.forName(String)通过类的全限定名字符串获取字节码文件对象。
类字面量直接使用类的字面量获取字节码文件对象。
对象的方式当已经有类的对象时,通过对象的 getClass() 方法获取字节码文件对象。
public class ReflectDemo1 {public static void main(String[] args) throws ClassNotFoundException {// 最常用的方式Class clazz = Class.forName("Student");System.out.println(clazz);// 一般通过参数传递的方式Class clazz2 = Student.class;System.out.println(clazz2);System.out.println(clazz==clazz);// 通过对象的方式,有类的对象时才可以使用Student s = new Student();Class clazz3 = s.getClass();System.out.println(clazz3);System.out.println(clazz2==clazz3);}
}
2. 利用反射获得构造方法
方法描述
Class.forName(String)通过类的全限定名字符串获取字节码文件对象。
Class.getConstructors()获取公共的构造方法。
Class.getDeclaredConstructors()获取所有构造方法,包括私有的构造方法。
Class.getConstructor(Class...)获取指定参数类型的公共构造方法。
Class.getDeclaredConstructor(Class...)获取指定参数类型的构造方法,包括私有的构造方法。
Constructor.getModifiers()获取构造方法的修饰符。
Constructor.getParameters()获取构造方法的参数。
Constructor.newInstance(Object...)通过构造方法创建类的实例。
Constructor.setAccessible(true)设置私有构造方法可访问。
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Parameter;public class ReflectDemo2 {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {// 1. 获取Class字节码文件对象Class clazz = Class.forName("Student");// 2. 获取所有的构造方法Constructor[] cons = clazz.getConstructors();for (Constructor con: cons) {System.out.println(con);}System.out.println("------------");// 获取所有的构造方法,包括私有的Constructor[] cons2 = clazz.getDeclaredConstructors();for (Constructor con: cons2) {System.out.println(con);}System.out.println("------------");// 获取指定的构造方法Constructor con3 = clazz.getConstructor(String.class);System.out.println(con3);System.out.println("------------");Constructor con4 = clazz.getDeclaredConstructor(int.class);System.out.println(con4);System.out.println("------------");Constructor con5 = clazz.getDeclaredConstructor(String.class, int.class);System.out.println(con5);System.out.println("------------");// 获取构造方法的权限修饰符int modifiers = con5.getModifiers();System.out.println(modifiers);Parameter[] parameters = con5.getParameters();for (Parameter parameter: parameters) {System.out.println(parameter);}con5.setAccessible(true); // 设置私有构造方法可访问Student stu = (Student) con5.newInstance("张三", 23);System.out.println(stu);}
}
public class Student {private String name;private int age;public Student() {}public Student(String name) {this.name = name;}protected Student(int age) {this.age = age;}private Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}
3. 利用反射获取成员变量
方法描述
Class.getFields()获取公共的成员变量。
Class.getDeclaredFields()获取所有的成员变量,包括私有的成员变量。
Class.getField(String)获取指定名称的公共成员变量。
Class.getDeclaredField(String)获取指定名称的成员变量,包括私有的成员变量。
Field.getModifiers()获取成员变量的权限修饰符。
Field.get(Object)获取指定对象上此 Field 表示的字段的值。
Field.setAccessible(true)设置私有成员变量可访问。
Field.set(Object, Object)将指定对象参数上此 Field 表示的字段设置为指定的新值。
import java.lang.reflect.Field;public class ReflectDemo3 {public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {// 利用反射获取成员变量Class clazz = Class.forName("Student");// 获取所有的成员变量Field[] fields = clazz.getFields();for (Field field: fields) {System.out.println(field);}System.out.printf("------------\n");// 获取所有的成员变量,包括私有的Field[] fields2 = clazz.getDeclaredFields();for (Field field: fields2) {System.out.println(field);}System.out.printf("------------\n");// 获取指定的成员变量Field field3 = clazz.getField("gender");// 获取私有的成员变量Field name = clazz.getDeclaredField("name");System.out.println(field3);System.out.println(name);// 获取权限修饰符int modifiers = field3.getModifiers();int modifiers2 = name.getModifiers();System.out.println(modifiers);System.out.println(modifiers2);System.out.println("------------");// 获取成员变量的值Student s = new Student("张三", 23);name.setAccessible(true); // 设置私有成员变量可访问Object value = name.get(s);System.out.println(value);// 修改对象记录的值name.set(s, "李四");System.out.println(s);}
}
public class Student {private String name;private int age;public String gender;public Student() {}public Student(String name) {this.name = name;}protected Student(int age) {this.age = age;}public Student(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}
4. 获取成员方法
方法名说明
Method[] getMethods()返回所有成员方法对象的数组(只能拿public的)
Method[] getDeclaredMethods()返回所有成员方法对象的数组,存在就能拿到
Method getMethod(String name, Class<?>… parameterTypes)返回单个成员方法对象(只能拿public的)
Method getDeclaredMethod(String name, Class<?>… parameterTypes)返回单个成员方法对象,存在就能拿到
import java.lang.reflect.Method;public class ReflectMethodExample {public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException {// 获取Class对象Class<?> clazz = Class.forName("MyClass");// 获取所有公共成员方法Method[] methods = clazz.getMethods();System.out.println("公共成员方法:");for (Method method : methods) {System.out.println(method);}System.out.println("-------------");// 获取所有成员方法,包括私有的Method[] declaredMethods = clazz.getDeclaredMethods();System.out.println("所有成员方法:");for (Method method : declaredMethods) {System.out.println(method);}System.out.println("-------------");// 获取指定的公共成员方法Method publicMethod = clazz.getMethod("publicMethod");System.out.println("指定的公共成员方法:");System.out.println(publicMethod);System.out.println("-------------");// 获取指定的成员方法,包括私有的Method privateMethod = clazz.getDeclaredMethod("privateMethod");System.out.println("指定的成员方法:");System.out.println(privateMethod);}
}class MyClass {public void publicMethod() {System.out.println("This is a public method.");}private void privateMethod() {System.out.println("This is a private method.");}
}
http://www.hkea.cn/news/603597/

相关文章:

  • 秦皇岛汽车网站制作数字营销工具
  • 培训教育的网站怎么做东莞做网站的联系电话
  • 云南做网站的公司外贸谷歌优化
  • 网页设计学徒培训可试学巢湖seo推广
  • 让顾客心动的句子seo模拟点击软件源码
  • 设计类专业包括哪些kj6699的seo综合查询
  • 手机网站制作哪家好查关键词
  • 米拓企业网站管理系统电商培训机构排名前十
  • 做效果图有哪些网站seo点击排名
  • 网络营销推广网站收录seo推广排名平台有哪些
  • 产品经理如何看待网站开发广州软件系统开发seo推广
  • wordpress 忘记管理员如何做网站seo
  • app和网站哪个有优势淘宝关键词排名
  • wordpress该域名宁波网站seo公司
  • 建购物网站怎么建呀简单的网站建设
  • 江苏省建设教育协会网站首页百度知道合伙人答题兼职入口
  • 做优化的网站平台搭建
  • 做网站需要多久网络推广是什么专业
  • 厦门加盟网站建设线上推广营销
  • 定制网站案例seo搜索引擎优化薪酬
  • 网站制作成功后怎么使用浏览器观看b站视频的最佳设置
  • 一家专门做开网店的网站北京seo专员
  • 专业企业网站搭建服务头条权重查询
  • 去哪儿网站上做民宿需要材料免费的黄冈网站有哪些平台
  • 网站建设网现在推广什么app最挣钱
  • 嘉兴装修公司做网站安装百度到桌面
  • 电商网站特点外贸营销网站建站
  • 上海市住房城乡建设管理委员会网站网络营销软文范例大全800
  • 莱芜区政协网站做网络优化的公司排名
  • 太原网站建设开发公司电商运营基本知识