java反射机制基础
java反射机制:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和
属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
代码示例:
Cats类:
- package cn.happy.demo;
- @SuppressWarnings(value="unchecked")
- @Deprecated
- public class Cats {
- //无参构造
- public Cats(){}
- //带参构造
- public Cats(String str){}
- //无参方法
- public void into(){}
- //代参方法
- public void into(String str){}
- //内部类
- class inner{}
- }
CatDemos类:
- package cn.happy.demo;
- import java.lang.annotation.Annotation;
- import java.lang.reflect.Constructor;
- import java.lang.reflect.Method;
- public class CatDemos {
- public static void main(String[] args) {
- Class<Cats> clas = Cats.class;
- Constructor[] con = clas.getDeclaredConstructors();
- System.out.println("*********获取构造方法*********");
- for (Constructor constructor2 : con) {
- System.out.println(constructor2.toString());
- }
- System.out.println("************获取构造方法结束**********");
- Method[] me = clas.getDeclaredMethods();
- System.out.println("***********获得公共方法开始************");
- for (Method method : me) {
- System.out.println(method.toString());
- }
- System.out.println("***********获得公共方法结束************");
- Method[] mt = clas.getMethods();
- System.out.println("************获取全部方法************");
- for (Method method : mt) {
- System.out.println(method.toString());
- }
- System.out.println("************获取全部方法结束************");
- System.out.println("***************获得包************");
- Package pg = clas.getPackage();
- System.out.println(pg.toString());
- Annotation[] an = clas.getAnnotations();
- System.out.println("************获得全部注释*************");
- for (Annotation annotation : an) {
- System.out.println(annotation.toString());
- }
- System.out.println("*******************************");
- Class[] cs = clas.getDeclaredClasses();
- for (Class class1 : cs) {
- System.out.println(class1.toString());
- }
- System.out.println("***************************");
- try {
- Class s = Class.forName("cn.happy.demo.Cats$inner");
- System.out.println(s.getDeclaringClass());
- System.out.println(s.getPackage());
- System.out.println(s.getSuperclass());
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
执行结果:
java反射机制基础的更多相关文章
- java反射机制(基础版)
package com.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import ja ...
- java反射机制基础总结
1反射机制是啥? 反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变.通俗的讲就是反射可以在运行时根据指定的类名获得类的信息. 2反射机制有啥用? Reflection(反射) ...
- JAVA反射机制基础概念
反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力.通过这种能力可以彻底的了解自身的情况为下一步的动作做准备.下面具体介绍一下java的反射机制.这里你将颠覆原来对java的理解. J ...
- java基础知识(十一)java反射机制(上)
java.lang.Class类详解 java Class类详解 一.class类 Class类是java语言定义的特定类的实现,在java中每个类都有一个相应的Class对象,以便java程序运行时 ...
- 【java基础】Java反射机制
一.预先需要掌握的知识(java虚拟机) 1)java虚拟机的方法区: java虚拟机有一个运行时数据区,这个数据区又被分为方法区,堆区和栈区,我们这里需要了解的主要是方法区.方法区的主要作用是存 ...
- Java基础学习总结(75)——Java反射机制及应用场景
什么是Java反射机制? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调用对象的方法的功能称为 ...
- 夯实Java基础(二十一)——Java反射机制
1.反射机制概述 Java反射机制是指程序在运行状态中,对于任何一个类,我们都能够知道这个类的所有属性和方法(包括private.protected等).对于任何一个对象,我们都能够对它的属性和方法进 ...
- Java 基础之详解 Java 反射机制
一.什么是 Java 的反射机制? 反射(Reflection)是Java的高级特性之一,是框架实现的基础,定义:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: ...
- java基础知识(十一)java反射机制(下)
1.什么是反射机制? java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象都能够调用他的属性和方法,这种动态获取属性和方法的功能称为java的反射机制. ...
随机推荐
- java读取pdf和MS Office文档
有时候PDF中的文字无法复制,这可能是因为PDF文件加密了,不过使用PDFBox开源软件就可以把它读出来. 还有一个用于创建PDF文件的项目----iText. PDFBox下面有两个子项目:Font ...
- Mysql 5.7 CentOS 7 安装MHA
Table of Contents 1. MHA简介 1.1. 功能 1.2. MHA切换逻辑 1.3. 工具 2. 环境 2.1. 软件 2.2. 环境 3. Mysql 主从复制 3.1. Mys ...
- Unet 项目部分代码学习
github地址:https://github.com/orobix/retina-unet 主程序: ################################################ ...
- 计蒜客 X的平方根(二分法)
设计函数int sqrt(int x),计算 xx 的平方根. 输入格式 输入一个 整数 xx,输出它的平方根.直到碰到文件结束符(EOF)为止. 输出格式 对于每组输入,输出一行一个整数,表示输入整 ...
- Django认证系统auth认证
使用Django认证系统auth认证 auth认证系统可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配置不同需求的项目,Django支持扩展和自定义认证;会将用户信息写入到 ...
- WCF 配置App.Config
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="/> & ...
- 实战--使用lvs实现四层负载均衡,转发到后端nginx
这个帖子讲得很细致,基本依照这个方案实践. 只是IP是按我自己虚拟机的IP来测试的. http://www.cnblogs.com/arjenlee/p/9262737.html ========== ...
- 「BZOJ3791」作业
题解: 比正解的做法要复杂 正解直接确定了最多有2k-1段 并且可以证明2k-1是一定可以覆盖的 于是可以直接dp 我的想法是先覆盖一段黑的,然后白的覆盖上去 所以f[i][0/1/2][0/1/2] ...
- EF 数据版本号,处理具体使用方法 RowVersion / Timestamp 使用方法。进行自动处理并发修改
/* * <div class="form-group"> // 原始 * <div class="form-group hidden"> ...
- 解决 Ionic 浏览器跨域问题
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Contro ...