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 ...
随机推荐
-
【BZOJ-4197】寿司晚宴 状压DP
4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 694 Solved: 440[Submit][Status] ...
-
spring注解记录
集中记录spring常见注解 供今后查阅 @ControllerAdvice: ControllerAdvice的定义为: @Target(ElementType.TYPE) @Retention(R ...
-
text-overflow:ellipsis
关键字: text-overflow:ellipsis 语法:text-overflow : clip | ellipsis 取值: clip :默认值 .不显示省略标记(...),而是简单的裁切. ...
-
【SPOJ】694. Distinct Substrings
http://www.spoj.com/problems/DISUBSTR/ 题意:求字符串不同子串的数目. #include <bits/stdc++.h> using namespac ...
-
同名域中计算机之间RDP问题
今天遇到一个奇葩问题 server1 在domain1中 server2 在domain2中 domain1 和domain2的名字一样,然后从server1去RDP到server2,你是无论如何都无 ...
-
jQuery选择器模糊匹配
<html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8&quo ...
-
【一天一道LeetCode】#11Container With Most Water
一天一道LeetCode系列 (一)题目 Given n non-negative integers a1, a2, -, an, where each represents a point at c ...
-
多个Fragment在一个activity中通过按钮的展示方法
fragment使用方法 1. 创建主Mainactivity extends AppCompatActivity 2. Oncreate & setContentView 3. 完成XML的 ...
-
L2-014 列车调度 (25 分)
L2-014 列车调度 (25 分) 火车站的列车调度铁轨的结构如下图所示. 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道.每趟列车从入口可以选择 ...
-
MFC控件第一讲.DC编程
MFC控件第一讲.DC编程 一丶简介 什么是DC,DC有什么用. DC成为设备描述符表. DC的作用就是可以进行绘制. 比如我们的窗口都是绘制出来的. DC可以简单理解为.没一个窗口程序都有一块内存 ...