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

西安做网站优化的公司如何做自己产品网站

西安做网站优化的公司,如何做自己产品网站,网站如何paypal支付,建设银行网站模板java反射是java语言中一个强大而灵活的特性,它允许程序在运行时检查和操作类、接口、字段和方法。 为了方便理解下文,我先给出Cat对象 public class Cat implements jump,Run {private int age;public String name;protected String color;double he…

java反射是java语言中一个强大而灵活的特性,它允许程序在运行时检查和操作类、接口、字段和方法。

为了方便理解下文,我先给出Cat对象
 

public class Cat implements jump,Run {private int age;public String name;protected String color;double height;Cat(String color){this.color=color;}public Cat(int age, String name, String color, double height) {super();this.age = age;this.name = name;this.color = color;this.height = height;}public void run(String name) {System.out.print("小猫的名字"+name);}private int setAge(int age) {return age;}void fly() {System.out.println("猫不会飞");}
}

什么是反射?

直观理解是:反射式获取类信息的一种能力

而什么又是类信息呢?可以大致概括为:方法/变量,构造器/继承和实现类或接口

反射基础:获取class对象

要使用反射,首先需要获取目标类的class对象。常见的方式:
 

// 1. 通过对象实例的getClass()方法
Cat cat = new Cat("black");
Class class1 = cat.getClass();// 2. 通过类字面常量.class语法
Class class2 = Cat.class;// 3. 通过Class.forName()方法
Class class3 = Class.forName("com.qcby.反射.Cat");// 这三种方式获取的Class对象是相同的
System.out.println(class1 == class2); // true
System.out.println(class2 == class3); // true

 

获取构造方法

通过Class对象可以获取类的构造方法:

Class clazz = Class.forName("com.qcby.反射.Cat");
// 获取所有声明的构造方法(包括非public的)
Constructor[] constructors = clazz.getDeclaredConstructors();
System.out.println(Arrays.toString(constructors));// 获取所有public构造方法
Constructor[] publicConstructors = clazz.getConstructors();
System.out.println(Arrays.toString(publicConstructors));// 获取特定参数的构造方法
Constructor specificConstructor = clazz.getDeclaredConstructor(String.class);
System.out.println(specificConstructor);

 

获取接口信息:

反射也可以获取类实现的接口:

Class clazz = Class.forName("com.qcby.反射.Cat");Class[] interfaces = clazz.getInterfaces();System.out.println(Arrays.toString(interfaces));

 

获取字段方法:

Class clazz = Class.forName("com.qcby.反射.Cat");// 获取字段
Field[] fields = clazz.getDeclaredFields();// 获取方法
Method[] methods = clazz.getDeclaredMethods();

 

declared与非declared方法的区别

方法类型包含范围访问权限限制
getField()/getMethod()仅返回public成员(包括继承的)不包含非public成员
getDeclaredField()/返回本类声明的所有成员包含private/protected成员
getDeclaredMethod()(不包括继承的)需要setAccessible(true)

 方法签名的精确匹配

// Cat类中的方法定义
public void run(String name) {...}
private int setAge(int age) {...}// 正确获取方式
Method runMethod = catClass.getMethod("run", String.class);
Method setAgeMethod = catClass.getDeclaredMethod("setAge", int.class);// 错误示例(会抛出NoSuchMethodException)
Method wrongMethod1 = catClass.getMethod("run");  // 缺少参数
Method wrongMethod2 = catClass.getMethod("setAge", int.class);  // 忽略private限制

 

最后我给你一张图,可以清晰的看到获取Class对象是如何获取的

 

 

 


文章转载自:

http://JZ9iSKMZ.jzykw.cn
http://CvjdAXYP.jzykw.cn
http://6lY037ZZ.jzykw.cn
http://ArdouOjw.jzykw.cn
http://Ej4AaFBE.jzykw.cn
http://1vMDSi1r.jzykw.cn
http://iHMDNDs5.jzykw.cn
http://GNeewlyf.jzykw.cn
http://APPA6jXy.jzykw.cn
http://87D4joz7.jzykw.cn
http://cBkHfn6g.jzykw.cn
http://0r0SyBsV.jzykw.cn
http://mkbOqNvU.jzykw.cn
http://b5KXCW9a.jzykw.cn
http://7R2mcBtm.jzykw.cn
http://iUySLVHQ.jzykw.cn
http://Pk65dH5Z.jzykw.cn
http://Hnok39Tl.jzykw.cn
http://F8BW2Mka.jzykw.cn
http://icU12yaP.jzykw.cn
http://aCbFrFk4.jzykw.cn
http://ZI2n6PfQ.jzykw.cn
http://ELM2JHLc.jzykw.cn
http://nJc7mq7L.jzykw.cn
http://4RardzbS.jzykw.cn
http://Ye4SRWSY.jzykw.cn
http://8fuVfpIy.jzykw.cn
http://g3ggHICh.jzykw.cn
http://65h5GSIt.jzykw.cn
http://Qqcrs6s0.jzykw.cn
http://www.dtcms.com/wzjs/730263.html

相关文章:

  • 文化传媒网站封面网站竞价托管
  • 西安seo霸屏官网seo是什么
  • 一键建站模板wordpress换头像不显示
  • 网站建设创作思路怎么写网站一直不被百度收录
  • 网站开发与实训报告青岛今天发生的重大新闻
  • 哪些网站可以免费做推广呢如何办好公司网站
  • 西乡建网站公司安防网站源码
  • 网站页面优化技巧免费播放电视剧的app有哪些
  • 电子商务公司网站建立有服务器怎么做网站
  • 网站制作怎么做框架wordpress vps建站
  • 苏州网站建设创意东莞网站排名优化公司
  • 做网站价位什么叫网站优化
  • 手机网站 link和visited设置同一种颜色失效网站后台生成器
  • 卢龙建设银行官网网站资料网站怎么做的
  • 苏州网站建设公司哪个好学校网站建设项目背景
  • vs2010网站设计用整张图片做背景嘉兴手机模板建站
  • c 如何做公司网站网站中英文版怎么做
  • 找人做的网站第二年多钱专业制作网站服务公司
  • 推广营销海外网站企业市场营销
  • wordpress 建站专家龙岩网站建设方案优化
  • 做门户网站挣钱吗女儿考试没圈关键词
  • wap端网站建设门户网站建设注意事项
  • 盐城网站建设首选梦搏网络制作网站一般要多少钱
  • 中国建设官方网站企业wordpress怎么做多级分类
  • php网站哪些有公网ip 如何做一网站
  • 网站搭建需要什么技术机械加工订单
  • dede免费网站模板utf8estore wordpress
  • 专业制作网站 郑利用access做网站
  • 网站建设哪好长沙好的网站建设公司哪家好
  • 技术支持:淄博网站建设有什么做ppt参考的网站