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:将这个类型

Java 关于类型类、this.getClass()的理解相关推荐

  1. java枚举类型enum用法_深入理解java枚举类型enum用法

    enum 的全称为 enumeraTIon, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结. 原始的接口定义常量 publi ...

  2. java中getclass_java中的getClass()函数

    Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代 ...

  3. 深入理解Java注解类型(@Annotation)

    [版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/71860633 出自[zejian ...

  4. java 基本类型 object_Java常用类-Object类

    一.java.lang.Object类 1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Obj ...

  5. java程序中出现两个class,Java中Class类中两个值得注意的进行类型动态转换的方法...

    Java中的Class类有两个重要的方法:cast()和asSubclass().这两个方法都是用于Class类进行运行时(run-time)阶段的类型转换的.下面来看看他们的定义和使用: 第一个方法 ...

  6. java接口返回类,Java接口和返回类型 - java

    考虑我有以下界面: public interface A { public void b(); } 但是我希望实现它的每个类对方法b()都有不同的返回类型. 例子: public class C { ...

  7. JAVA类加载对字节码的处理_深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)...

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 周志明的< ...

  8. Java入门姿势【面向对象:1】啥事面向对象、类和对象如何理解

    面向对象是编程开发的一种编程范式. 这次我们来详细了解一下Java面向对象,面向对象的思想已经涉及到软件开发的各个方面,如:面向对象的分析,面向对象的设计.以及我们经常说的面向对象的编程实现 其余的一 ...

  9. java 类说明,java基础类型说明

    一.java基础类型分为4类8种分别为: 四类分为: 整数类型 浮点类类 字符类型 布尔类型 八种分别为: 整数类型: byte short int long 浮点类型: float double 字 ...

  10. 一分钟理解Java包装类型

    转载自  一分钟理解Java包装类型 Java 一直标榜自己是一个纯粹的面向对象语言,自作聪明的为所有的值类型都提供相应的引用类型(不明白这两个概念,看之前的<一分钟理解传值和传引用>)比 ...

最新文章

  1. python绘制灰度图片直方图-python数字图像处理实现直方图与均衡化
  2. Personal Introduction—037尤碧璇
  3. springsecurity sessionregistry session共享_不用 Spring Security 可否?试试这个小而美的安全框架...
  4. sql 181. 超过经理收入的员工
  5. MacosX 下GCC编译指定版本的代码
  6. jzoj4017-逃跑【0/1分数规划,线段树,dp】
  7. Spring MVC文件上传示例教程 - 单个和多个文件
  8. 大数据分析平台具有哪些价值
  9. 利用hasOwnProperty实现的高效的javascript hashtable
  10. 搭建GB28181本次测试步骤-SIP信令服务器
  11. Excel-实现选择性粘贴(粘贴公式为文本)自动化,不想手动
  12. SPL lookup
  13. 基于opencv python 的网线线序识别(一)
  14. python爬取12306火车票信息_python利用selenium+requests+beautifulsoup爬取12306火车票信息...
  15. jQuery用DOM遍历实现商城结算系统
  16. ps界面为啥突然变大了_PS教程丨皮肤美白修饰
  17. 2021最新 北京互联网公司排名
  18. 网络安全:namp扫描工具
  19. 信号是受噪声Nt干扰的余弦波Xt = Acoswt + φ + Nt,试求它的自相关函数。假设φ是在[0, 2Π]上均匀分布的随机变量,Nt是均值为0方差为σ2的白噪声,且 Nt 与 φ 互不相关。
  20. matlab定义双精度型变量_matlab双精度浮点数编码及区间覆盖(原创)

热门文章

  1. SDOI2018 旧试题
  2. PHP Mysql-简介
  3. 《OD学hadoop》第二周0703
  4. C#读取网络流,读取网络上的js文件
  5. 1.4.5 动态字段
  6. jquery几种常用框架比较
  7. JavaScript开发规范要求
  8. 《霸王别姬》经典台词
  9. Sql语句对数据库和表的简单操作
  10. 08. 切勿创建包含auto_ptr的容器