14章类型信息---class对象
来源:互联网 发布:与大数据相关的股票 编辑:程序博客网 时间:2024/06/06 13:57
//: typeinfo/toys/ToyTest.java
// Testing class Class.
package typeinfo.toys;
import static net.mindview.util.Print.*;
interface HasBatteries {}
interface Waterproof {}
interface Shoots {}
class Toy {
Toy() {}
Toy(int i) {}
}
class FancyToy extends Toy
implements HasBatteries, Waterproof, Shoots {
FancyToy() { super(1); }
}
public class ToyTest {
static void printInfo(Class cc) {
print("Class name: " + cc.getName() +//getName方法是带包名的类名
" is interface? [" + cc.isInterface() + "]");//isInterface方法是否是接口
print("Simple name: " + cc.getSimpleName());//getSimpleName方法不带包名的简单类名
public static void main(String[] args) {
Class c = null;
try {
c = Class.forName("typeinfo.toys.FancyToy");
} catch(ClassNotFoundException e) {
print("Can't find FancyToy");
System.exit(1);
}
printInfo(c);
for(Class face : c.getInterfaces())
printInfo(face);
Class up = c.getSuperclass();
Object obj = null;
try {
// Requires default constructor:
obj = up.newInstance();
} catch(InstantiationException e) {
print("Cannot instantiate");
System.exit(1);
} catch(IllegalAccessException e) {
print("Cannot access");
System.exit(1);
}
printInfo(obj.getClass());
}
// Testing class Class.
package typeinfo.toys;
import static net.mindview.util.Print.*;
interface HasBatteries {}
interface Waterproof {}
interface Shoots {}
class Toy {
Toy() {}
Toy(int i) {}
}
class FancyToy extends Toy
implements HasBatteries, Waterproof, Shoots {
FancyToy() { super(1); }
}
public class ToyTest {
static void printInfo(Class cc) {
print("Class name: " + cc.getName() +//getName方法是带包名的类名
" is interface? [" + cc.isInterface() + "]");//isInterface方法是否是接口
print("Simple name: " + cc.getSimpleName());//getSimpleName方法不带包名的简单类名
print("Canonical name : " + cc.getCanonicalName());
//getCanonicalName方法是产生全限定的类名,也就是带包名的类名,canonical英[kə'nɒnɪk(ə)l]美[kə'nɑnɪkl]规范化,标准的; 典范的
}public static void main(String[] args) {
Class c = null;
try {
c = Class.forName("typeinfo.toys.FancyToy");
} catch(ClassNotFoundException e) {
print("Can't find FancyToy");
System.exit(1);
}
printInfo(c);
for(Class face : c.getInterfaces())
printInfo(face);
Class up = c.getSuperclass();
Object obj = null;
try {
// Requires default constructor:
obj = up.newInstance();
} catch(InstantiationException e) {
print("Cannot instantiate");
System.exit(1);
} catch(IllegalAccessException e) {
print("Cannot access");
System.exit(1);
}
printInfo(obj.getClass());
}
}
//如果去掉默认的构造器的话,调用up.newInstance();就会报无法实例化的错
0 0
- 14章类型信息---class对象
- 类型信息之Class对象
- 类型信息之Class对象
- java类型信息—class对象
- java 类型信息(RTTI) 中 Class对象的理解
- 深入理解Java类型信息(Class对象)与反射机制
- 深入理解Java类型信息(Class对象)与反射机制
- 深入理解Java类型信息(Class对象)与反射机制
- Java RTTI(类型信息)(.class 类对象)
- Java编程思想之类型信息(Class对象)
- 深入理解Java类型信息(Class对象)与反射机制
- 类型信息:反射-Class
- java基础-反射1(类型信息,Class对象简介,Class对象初始化)
- 14章类型信息-----动态代理-----空对象----接口与类型信息
- Java 类型信息 —— 获取泛型类型的类对象(.class)
- 14章类型信息--注册工厂---instandceof与Class的等价性--反射
- 第十四章 类型信息RTTI Class instanceof isInstance
- 14章类型信息
- 姐弟恋,是否要继续下去?
- ruby环境安装
- 使用CAShapeLayer与UIBezierPath
- db2服务启动出现1069错误
- android apk反编译和odex转dex
- 14章类型信息---class对象
- Javascript中this的工作原理
- ArcGIS安装中,问题和解决方法总结(待续)
- UVA - 439 Knight Moves
- Android控件捕获点击事件的范围
- linux下生成动态链接库
- linux下的oracle 乱码问题
- 栈(2)----用数组实现栈
- setup_irq与request_irq的区别