定义:获取当前某个类的字节码文件

获取一个类的字节码文件对象有几种方式:

1.Object的getClass()方法:

对象名.getClass()

2.任意Java类型的class属性--->内置的,就相当于任意数组(引用类型数组,基本数组---都会有length属性) 可以jdk提供的类或者我们自定义的类

类名.class();

3.Class.forName("包名.类名"); 字符串数据----特点--->可以放在配置文件

类的加载过程---->需要类的所有结构(成员变量/构造方法/成员方法)进行校验

构造方法:

通过字节码文件对象,获取这个类 构造方法的类对象:Constructor---给创建当前类实例

getConstructors():获取当前这个类的所有的公开的构造方法

getDeclaredConstructors():获取当前类的所有构造方法(公共的,受保护的,私有的,默认的)

getDeclaredConstructor(参数类型的class):获取指定构造方法

setAccessiable(true):取消对非公共的构造方法/成员方法取消java语言检查

newInstance(实参):创建当前实例对象

Class c=Class.forName("com.qf.reflect_04.Person");
//Constructor con=c.getConstructor();
Constructor con=c.getDeclaredConstructor(String.class,int.class);
con.setAccessiable(true);
Object o=con.newInstance("luya",20);
System.out.println(o);

成员方法

获取指定的公共的成员方法类对象Method:

public Method getDeclaredMethod(String name,Class<?>... parameterTypes):

参数1:方法名,参数2:参数类型的字节码文件

Method m2 = clazz.getDeclaredMethod("method", String.class);

传值:调用invoke方法:

m2.invoke(obj,"hello,高圆圆") ;

成员变量

//public Field getDeclaredField(String name):获取指定的字段类对象(获取指定成员变量)---参数为当前成员变量名Field ageField = clazz.getDeclaredField("age") ;//取消Java语言访问检查ageField.setAccessible(true);//才能赋值//public void set(Object obj, Object value):将指定的value实际参数 作用指定的实例(对象)上ageField.set(obj,20) ;System.out.println(obj);

反射_构造方法_成员方法_成员变量相关推荐

  1. 在Java内部类中使用外部类的成员方法以及成员变量

    http://blog.csdn.net/zhongyili_sohu/article/details/8975947 众所周知,在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止 ...

  2. java访问成员变量和方法_如何访问类的成员变量和方法

    如何访问类的成员变量和方法 在Java应用程序中,经常需要访问类的成员变量和方法,以实现程序的功能,请问应该如何访问类的成员变量和方法?在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变 ...

  3. java 访问类变量_如何访问类的成员变量和方法

    在Java应用程序中,经常需要访问类的成员变量和方法,以实现程序的功能,请问应该如何访问类的成员变量和方法?在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变量和方法,今天百分网小编为大 ...

  4. java类成员变量初始化_探讨Java类中成员变量的初始化方式

    在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...

  5. Java子类的成员方法可以直接调用父类的成员方法和成员变量

    public class Teacher extends Employee {public static void main(String[] args) {}public void method() ...

  6. java构造实部与虚部_声明Complex类,成员变量包括实部和虚部,成员方法包括实现由字符串构造复数、复数加法、减法,字符串描述、比较相等等操作...

    package Myjava; //import java.lang. //修复一小点输入不当导致崩溃 import java.util.Scanner; public class Complex { ...

  7. 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法

    . 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...

  8. Java10-day01【继承(变量-构造方法访问-成员方法 访问)、super内存图、方法重写、继承、包、import、权限修饰符、final、static】

    视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java ...

  9. 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字

    成员变量和局部变量 在介绍类的时候,已经说到了类的成员变量 成员变量是在类中而在方法之外 class ss{ int age; } 局部变量是在方法定义中或者方法声明中 class ss{ publi ...

  10. Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06

    目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...

最新文章

  1. Java中比较两个Double类型数据的大小
  2. 线程可以kill吗_我是一个线程(转)
  3. python3 requests 库学习
  4. 使用uni-app报错this.setData is not a function
  5. oracle数据库中分析函数大全,Oracle数据库的分析函数
  6. html 轮播图的鼠标事件,这是图片轮播的代码 html+css,怎么加上鼠标悬停移出继续功能?...
  7. Confluence 6 PostgreSQL 创建数据库和数据库用户
  8. MS-SQL 时间的操作
  9. linux 查看真实路径-软连接
  10. Linux 下安装Postgresql
  11. (4.10)mysql备份还原——利用binlog+全备恢复误删表【不推荐使用】
  12. Java基础之continue与break区别
  13. 算法题——投篮比赛获胜概率问题
  14. 发生服务器错误 显示预览,我的电脑为何在做asp的时候按F12键不能预览!预览就出错!错误代码500说服务器或者DNS错误...
  15. 利用python画简单图形示例代码_使用python画社交网络图实例代码
  16. 京东护城河已破,京东沦陷指日可待?下一步将走向何方?
  17. Python周刊488期
  18. 国内常用公共DNS服务器、各省运营商DNS服务器汇总 1
  19. Axure8.0-制作图片验证码
  20. C盘爆满的解决方案?很可能是因为这个Group2文件夹

热门文章

  1. SAP MM 公司代码间质检库存的STO (I)
  2. 装机教程:VMWare下安装Linux系统(超级详细版 学不会你打我)
  3. Android studio页面设计
  4. sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作
  5. 零基础入门进化算法(GEP)
  6. 14-EIGRP路由协议详解
  7. jav获取本地图片上传到数据库中
  8. 数字电子技术考试知识点总结
  9. 刺客信条奥德赛缺少dll文件_刺客信条奥德赛打不开怎么办 刺客信条奥德赛无法运行解决办法...
  10. 会场安排问题(时间安排)nyoj