JAVA反射之Class类的练习
package zhang;
/**
* JAVA反射之CLass类的练习
*
* 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢?
* 类的类型是CLass
*
* */
class Test{
void print(){
System.out.println("Hello world!");
}
}//Test是一个类。
public class ClassDemo {
public static void main(String[] args) {
//创建Test对象的方式
Test test=new Test();//这样通过new 就创建除了Test的对象
//那么类也是一种对象,作为Test类,如何创建出对象为Test的对象呢?
/*
*
* Constructor. Only the Java Virtual Machine creates Class
* objects.
* private Class() {}
* Class类的构造方法是私有的,所以不能通过new来创建Class 对象。
* Class对象只能通过Java虚拟机创建
*/
/**
* 有三种方式
* */
/* 第一种:Class T1=Test.class 这种方式实际上是在告诉我们任何
* 一个类都存在一个隐含的静态成员class
*
* 通过已知类型来创建
*/
Class T1=Test.class;
/*
* 第二种
* 通过已知类型的对象来创建
* */
Class T2=test.getClass();
System.out.println(T2==T1);
/*
*
* 第三种
* */
Class T3=null;
try {
T3=Class.forName("zhang.Test");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(T3==T2);
//也就是说:不管T1 or T2都代表Test类的类类型,一个类只可能是Class类的一个实例对象。
//我们可以通过T1 or T2 or T3来创建Test对象。
try {
Test test1=(Test) T1.newInstance();//这样就创建出Test的实例了
test1.print();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package zhang;
/**
* JAVA反射之CLass类的练习
*
* 在面向对象的语言里,万事万物皆对象,那么类是谁的对象呢?
* 类的类型是CLass
*
* */
class Test{
void print(){
System.out.println("Hello world!");
}
}//Test是一个类。
public class ClassDemo {
public static void main(String[] args) {
//创建Test对象的方式
Test test=new Test();//这样通过new 就创建除了Test的对象
//那么类也是一种对象,作为Test类,如何创建出对象为Test的对象呢?
/*
*
* Constructor. Only the Java Virtual Machine creates Class
* objects.
* private Class() {}
* Class类的构造方法是私有的,所以不能通过new来创建Class 对象。
* Class对象只能通过Java虚拟机创建
*/
/**
* 有三种方式
* */
/* 第一种:Class T1=Test.class 这种方式实际上是在告诉我们任何
* 一个类都存在一个隐含的静态成员class
*
* 通过已知类型来创建
*/
Class T1=Test.class;
/*
* 第二种
* 通过已知类型的对象来创建
* */
Class T2=test.getClass();
System.out.println(T2==T1);
/*
*
* 第三种
* */
Class T3=null;
try {
T3=Class.forName("zhang.Test");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(T3==T2);
//也就是说:不管T1 or T2都代表Test类的类类型,一个类只可能是Class类的一个实例对象。
//我们可以通过T1 or T2 or T3来创建Test对象。
try {
Test test1=(Test) T1.newInstance();//这样就创建出Test的实例了
test1.print();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
JAVA反射之Class类的练习的更多相关文章
- Java反射 - 1(得到类对象的几种方法,调用方法,得到包下的所有类)
通过反射获得对象的方法 准备工作: 有一个User类如下 package o1; /** * Created by yesiming on 16-11-19. */ public class User ...
- java反射 顺序输出类中的方法
java反射可以获取一个类中的所有方法,但是这些方法的输出顺序,并非代码的编写顺序. 我们可以通过自定义一个注解来实现顺序输出类中的方法. 首先,先写一个类,定义增删改查4个方法 public cla ...
- 【java】java反射初探 ——“当类也照起镜子”
反射的作用 开门见山地说说反射的作用 1.为我们提供了全面的分析类信息的能力 2.动态加载类 我理解的“反射”的意义 (仅个人理解) 我理解的java反射机制就是: 提供一套完善而强大的API ...
- 【java】java反射初探 ——“当类也学会照镜子”
反射的作用 开门见山地说说反射的作用 1.为我们提供了全面的分析类信息的能力 2.动态加载类 我理解的“反射”的意义 (仅个人理解哈) 我理解的java反射机制就是: 提供一套完善而强 ...
- Java反射初探 ——“当类也学会照镜子”
反射的作用 开门见山地说说反射的作用 1.为我们提供了全面的分析类信息的能力 2.动态加载类 我理解的“反射”的意义 (仅个人理解哈) 我理解的java反射机制就是: 提供一套完善而强大的 ...
- java反射之获取类的基本信息(一)
一.反射原理. Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”.这里“类的部分已经的信息”,可以是“类名”或“类的对象”等信息.“类的全部 ...
- java反射对实体类取值和赋值,可以写成通过实体类获取其他元素的数据,很方便哦~~~
项目中需要过滤前面表单页面中传过来的实体类的中的String类型变量的前后空格过滤,由于前几天看过一个其他技术博客的的java反射讲解,非常受益.于是,哈哈哈 public static <T& ...
- Java反射之Class类
接下来的几章,我们谈一谈java的反射机制. 反射就是从一个java类中映射出一个java类或是一个实例.通常在很多框架中都用到反射,比如常用的ssm框架,在配置文件中总是会写到类的全名,框架通过读取 ...
- java反射对实体类取值和赋值
public static void checkDesignerEdit(Object dtos) throws Exception { Class dtosClass = dtos.getClass ...
随机推荐
- sql server 查询表的创建时间
遇到一情况,前几天创建一个表,但是后来忙别的事情了,现在要用这个表,结果失忆了.....完全想不起来表名. 然后就想办法查询表的创建时间试图找回表名 最后找到了,根据表的创建时间排序,因为平常也用不到 ...
- 详解Ajax请求(四)——多个异步请求的执行顺序
首先提出一个问题:点击页面上一个按钮发送两个ajax请求,其中一个请求会不会等待另一个请求执行完毕之后再执行? 答案是:不会,这两个异步请求会同时发送,至于执行的快与慢,要看响应的数据量的大小及后台逻 ...
- Python之匿名函数
匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数. #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lam ...
- Python基础(函数-递归)
本章内容: 深浅拷贝 函数(全局与局部变量) 内置函数 文件处理 三元运算 lambda 表达式 递归(斐波那契数列) 冒泡排序 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝 ...
- python request
python request a. 客户端向服务端发送多层字典的值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 obj = ...
- Celery 分布式任务队列快速入门
Celery 分布式任务队列快速入门 本节内容 Celery介绍和基本使用 在项目中如何使用celery 启用多个workers Celery 定时任务 与django结合 通过django配置cel ...
- .Net Core 学习之路-基础
.Net Core出来好久了,一直在了解,但始终没有应用到实际项目中.... 准备用.net core搞个SSO,才发现它和.net framework的变化并不是一点点... .net core还在 ...
- python-复杂生成式
1.复杂的列表生成式HTML表格: 注:字符串可以通过%进行格式,用指定的参数化代替%s.字符串的join()方法可以把一list拼接成一个字符串. 把没有几个的分数标记为红色: d = { 'Ada ...
- angularjs中使用 <input type="file">标签实现一次最多上传5张图片
前期准备: 1.angular.js 2.bootstrap.css 具体如何实现呢?请看下面代码哈哈哈. 在angular项目中,如果要给<input type="file" ...
- centOS7配置DNS服务器
世上无难事只怕有心人,遇事千万千万不要抵触,消极的情绪是失败之母,一点一滴,踏踏实实是通往幸福的捷径. 历经激动,受挫,抵触和鼓励以及征服,终于配好了让我欢喜让我忧的dns.在这里记录下来,希望能够给 ...