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

广州做公司网站怎么让wordpress挂掉

广州做公司网站,怎么让wordpress挂掉,网络营销策划书的类型,口红网络营销策划方案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://www.dtcms.com/wzjs/532982.html

相关文章:

  • 水利工程建设监理网站网站建设倒计时单页源码
  • 长沙企业建站按效果付费大连网站搜索排名
  • 网站建设项目设计的图片莱芜网站建设费用
  • 杭州做企业网站公司信息网站建设
  • 广州网站建设专注乐云seodestoon做的网站
  • 做电影网站犯罪吗温州哪里有网站优化
  • 银川网站推广方式济南 网站建设那家好
  • 建设治安总队网站目的2015网站设计趋势
  • 钢丝高频退火设备网站建设可以用自己电脑做网站吗
  • 辽宁省朝阳网站建设得力文具网站建设策划书
  • 做微网站 主机 域名网站建设费用明细湖南岚鸿
  • 建站公司联系电话企业网站建设需了解什么
  • 百度和阿里哪个厉害做网站我想做一个网站
  • 浙江省一建建设集团网站首页网站建设-好发信息网
  • 网站的行为怎么做网站页面设计主要包括
  • 建设一个商城网站要多少钱wordpress找不到自定义栏目
  • 平阳网站开发兰州网站seo分析
  • 牡丹江建设行业协会网站怎么做网站的登录界面
  • 学ps可以做网站策划吗安徽设计网站建设
  • 青海企业网站开发定制做电商自建网站怎样
  • 泰州市建设工程招标网汕头网站关键词优化教程
  • 一个企业网站多少钱网站导航样式
  • 黄岛区建设局网站wordpress 搜索框
  • 用于网站建设的费用怎么备注网站建设需要矢量文件
  • 网站推广描述html5简单网页源代码
  • 网站服务器搭建适合机械网站的wordpress主题模板
  • 专业网站优化软件手机网站专题
  • 农业局网站建设实施方案做彩票网站代理违法吗
  • 网站图片轮播怎么弄石家庄做标书的网站
  • 做网站用php如何学习百度账号注册平台