Java 关于类型类、this.getClass()的理解
2017-05-30 20:22
501 查看
import java.io.*; import java.util.*; class test { public static void main (String[] args) throws java.lang.Exception { B b=new B(); Object c=b.getClass(); String d=b.getClass().getName(); System.out.println(c);//因为都有toString()所以动态绑定了 System.out.println(d); } } class A { int x; int y; A() { // Scanner input=new Scanner(System.in); x=10; y=9; //input.Close(); } public void Add() { System.out.println(x+y); } } class B extends A { public void Add() { System.out.println(x*y); } public void TES() { super.Add(); this.Add(); } }
Java语言中,每个类都有一个函数是getClass(),这个函数可以返回该保存该类型的类型类的一个实例的引用,这个类型类的实例无法直接接受但是我们可以用Object接收,
在println()的时候打印出的是Class B说明这个类型类已经将toString()函数重写,因此打印出来的是Class B。
以下是引用的部分:来源http://blog.sina.com.cn/s/blog_6f8856f30102w1bo.html
在获得类型类之后,你就可以调用其中的一些方法获得类型的信息了,主要的方法有:
getName():String:获得该类型的全称名称。
getSuperClass():Class:获得该类型的直接父类,如果该类型没有直接父类,那么返回null。
getInterfaces():Class[]:获得该类型实现的所有接口。
isArray():boolean:判断该类型是否是数组。
isEnum():boolean:判断该类型是否是枚举类型。
isInterface():boolean:判断该类型是否是接口。
isPrimitive():boolean:判断该类型是否是基本类型,即是否是int,boolean,double等等。
isAssignableFrom(Class cls):boolean:判断这个类型是否是类型cls的父(祖先)类或父(祖先)接口。
getComponentType():Class:如果该类型是一个数组,那么返回该数组的组件类型。
此外还可以进行类型转换这类的操作,主要方法有:
asSubclass(Class clazz):Class:将这个类型
相关文章推荐
- this.class.getClassLoader()怎么理解?
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- 关于java中getClass()和getSuperClass()的讲解
- JAVA中关于set()和get()方法的理解及使用
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- 关于java中getClass()和super.getClass()
- 关于java中的getClass()
- this.class.getClassLoader()怎么理解?
- java: 关于从jar中读取资源遇到的问题getClass().getResource(...)
- this.class.getClassLoader()怎么理解?
- JAVA中关于set()和get()方法的理解及使用
- 在java开发中关于class.getResourceAsStream(String name)与 class.getClassLoader().getResourceAsStream(String
- JAVA_Java中关于supper和this的理解
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- Java在不同环境下获取当前路径的方法--this.getClass().getResource("")
- 关于this.getClass().getResourceAsStream()来读入数据!~
- this.class.getClassLoader()怎么理解?
- 关于JAVA Entity entity = entityClass.getAnnotation(Entity.class);
- JAVA---关于public class的理解
- this.class.getClassLoader()怎么理解?