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的反射机制. ...
随机推荐
- MySQL源码安装一键脚本
#红色部分根据自己的需求来定义#!/bin/bash #卸载系统自带的Mysql /bin/rpm -e $(/bin/rpm -qa | grep mysql|xargs) --nodeps /bi ...
- jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等激活到2099
破解补丁激活 之前看了好多的其它的方法感觉都不是很靠谱还是这个本人亲试可以长期有效不仅能激活pycharm.jetbrains全系列可用例:IDEA.WebStorm.phpstorm.clion等激 ...
- SignalRMvc的简单例子
1.介绍 我们知道传统的http采用的是“拉模型”,也就是每次请求,每次断开这种短请求模式,这种场景下,client是老大,server就像一个小乌龟任人摆布,很显然,只有一方主动,这事情就没那么完美 ...
- .net core2.1 - ef core数据库迁移,初始化种子数据
起因:早上偶然看见一篇文章说是ef core(2.x)使用种子数据,主表子表迁移时候,正常情况下说是无法迁移成功,索性就试试,结果是和ef6的一样,没感觉有什么大的区别.一切OK,见下面内容. 1.首 ...
- net core体系-API-1Ocelot-(1)概要
从这篇开始探讨Ocelot,Ocelot是一个.NET API网关,仅适用于.NET Core,用于.NET面向微服务/服务的架构中.当客户端(web站点.ios. app 等)访问web api时, ...
- Codeforces 844F Anti-Palindromize 最小费用流
Anti-Palindromize 想到网络流就差不多了, 拆拆点, 建建边. #include<bits/stdc++.h> #define LL long long #define f ...
- AtCoder Regular Contest 099 (ARC099) E - Independence 二分图
原文链接https://www.cnblogs.com/zhouzhendong/p/9224878.html 题目传送门 - ARC099 E - Independence 题意 给定一个有 $n$ ...
- P1330 封锁阳光大学 DFS
题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...
- Redis数据库 02事务| 持久化| 主从复制| 集群
1. Redis事务 Redis不支持事务,此事务不是关系型数据库中的事务: Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...
- 007 numpy数组文件的存取
不知道这个有没有用,都整理了一番. 一:数组以二进制格式进行存储 1.说明 np.save与np.load是读写磁盘数组数据的两个重要函数. 默认情况下,数组以压缩的原始二进制格式保存在扩展名为npy ...