反射_构造方法_成员方法_成员变量
定义:获取当前某个类的字节码文件
获取一个类的字节码文件对象有几种方式:
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);
反射_构造方法_成员方法_成员变量相关推荐
- 在Java内部类中使用外部类的成员方法以及成员变量
http://blog.csdn.net/zhongyili_sohu/article/details/8975947 众所周知,在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止 ...
- java访问成员变量和方法_如何访问类的成员变量和方法
如何访问类的成员变量和方法 在Java应用程序中,经常需要访问类的成员变量和方法,以实现程序的功能,请问应该如何访问类的成员变量和方法?在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变 ...
- java 访问类变量_如何访问类的成员变量和方法
在Java应用程序中,经常需要访问类的成员变量和方法,以实现程序的功能,请问应该如何访问类的成员变量和方法?在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变量和方法,今天百分网小编为大 ...
- java类成员变量初始化_探讨Java类中成员变量的初始化方式
在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...
- Java子类的成员方法可以直接调用父类的成员方法和成员变量
public class Teacher extends Employee {public static void main(String[] args) {}public void method() ...
- java构造实部与虚部_声明Complex类,成员变量包括实部和虚部,成员方法包括实现由字符串构造复数、复数加法、减法,字符串描述、比较相等等操作...
package Myjava; //import java.lang. //修复一小点输入不当导致崩溃 import java.util.Scanner; public class Complex { ...
- 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法
. 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...
- Java10-day01【继承(变量-构造方法访问-成员方法 访问)、super内存图、方法重写、继承、包、import、权限修饰符、final、static】
视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] Java基础--学习笔记(零起点打开java ...
- 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字
成员变量和局部变量 在介绍类的时候,已经说到了类的成员变量 成员变量是在类中而在方法之外 class ss{ int age; } 局部变量是在方法定义中或者方法声明中 class ss{ publi ...
- Java面向对象思想、类的定义、对象的使用、对象内存图、成员变量和局部变量的区别、封装、private关键字、this关键字、构造方法、JavaBean-day06
目录 第1节 面向对象思想 1.1 面向对象思想概述 概述 举例 特点 1.2 类和对象 什么是对象 类与对象的关系 1.3 类的定义 事物与类的对比 类的定义格式 1.4 对象的使用 对象的使用格式 ...
最新文章
- Java中比较两个Double类型数据的大小
- 线程可以kill吗_我是一个线程(转)
- python3 requests 库学习
- 使用uni-app报错this.setData is not a function
- oracle数据库中分析函数大全,Oracle数据库的分析函数
- html 轮播图的鼠标事件,这是图片轮播的代码 html+css,怎么加上鼠标悬停移出继续功能?...
- Confluence 6 PostgreSQL 创建数据库和数据库用户
- MS-SQL 时间的操作
- linux 查看真实路径-软连接
- Linux 下安装Postgresql
- (4.10)mysql备份还原——利用binlog+全备恢复误删表【不推荐使用】
- Java基础之continue与break区别
- 算法题——投篮比赛获胜概率问题
- 发生服务器错误 显示预览,我的电脑为何在做asp的时候按F12键不能预览!预览就出错!错误代码500说服务器或者DNS错误...
- 利用python画简单图形示例代码_使用python画社交网络图实例代码
- 京东护城河已破,京东沦陷指日可待?下一步将走向何方?
- Python周刊488期
- 国内常用公共DNS服务器、各省运营商DNS服务器汇总 1
- Axure8.0-制作图片验证码
- C盘爆满的解决方案?很可能是因为这个Group2文件夹
热门文章
- SAP MM 公司代码间质检库存的STO (I)
- 装机教程:VMWare下安装Linux系统(超级详细版 学不会你打我)
- Android studio页面设计
- sharepoint 2016 学习系列篇(14)-自定义列表应用篇-(3)列表数据的新增,修改,删除操作
- 零基础入门进化算法(GEP)
- 14-EIGRP路由协议详解
- jav获取本地图片上传到数据库中
- 数字电子技术考试知识点总结
- 刺客信条奥德赛缺少dll文件_刺客信条奥德赛打不开怎么办 刺客信条奥德赛无法运行解决办法...
- 会场安排问题(时间安排)nyoj