Java 关于类型类、this.getClass()的理解
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()的理解相关推荐
- java枚举类型enum用法_深入理解java枚举类型enum用法
enum 的全称为 enumeraTIon, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结. 原始的接口定义常量 publi ...
- java中getclass_java中的getClass()函数
Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作.传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代 ...
- 深入理解Java注解类型(@Annotation)
[版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/71860633 出自[zejian ...
- java 基本类型 object_Java常用类-Object类
一.java.lang.Object类 1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Obj ...
- java程序中出现两个class,Java中Class类中两个值得注意的进行类型动态转换的方法...
Java中的Class类有两个重要的方法:cast()和asSubclass().这两个方法都是用于Class类进行运行时(run-time)阶段的类型转换的.下面来看看他们的定义和使用: 第一个方法 ...
- java接口返回类,Java接口和返回类型 - java
考虑我有以下界面: public interface A { public void b(); } 但是我希望实现它的每个类对方法b()都有不同的返回类型. 例子: public class C { ...
- JAVA类加载对字节码的处理_深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)...
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 周志明的< ...
- Java入门姿势【面向对象:1】啥事面向对象、类和对象如何理解
面向对象是编程开发的一种编程范式. 这次我们来详细了解一下Java面向对象,面向对象的思想已经涉及到软件开发的各个方面,如:面向对象的分析,面向对象的设计.以及我们经常说的面向对象的编程实现 其余的一 ...
- java 类说明,java基础类型说明
一.java基础类型分为4类8种分别为: 四类分为: 整数类型 浮点类类 字符类型 布尔类型 八种分别为: 整数类型: byte short int long 浮点类型: float double 字 ...
- 一分钟理解Java包装类型
转载自 一分钟理解Java包装类型 Java 一直标榜自己是一个纯粹的面向对象语言,自作聪明的为所有的值类型都提供相应的引用类型(不明白这两个概念,看之前的<一分钟理解传值和传引用>)比 ...
最新文章
- python绘制灰度图片直方图-python数字图像处理实现直方图与均衡化
- Personal Introduction—037尤碧璇
- springsecurity sessionregistry session共享_不用 Spring Security 可否?试试这个小而美的安全框架...
- sql 181. 超过经理收入的员工
- MacosX 下GCC编译指定版本的代码
- jzoj4017-逃跑【0/1分数规划,线段树,dp】
- Spring MVC文件上传示例教程 - 单个和多个文件
- 大数据分析平台具有哪些价值
- 利用hasOwnProperty实现的高效的javascript hashtable
- 搭建GB28181本次测试步骤-SIP信令服务器
- Excel-实现选择性粘贴(粘贴公式为文本)自动化,不想手动
- SPL lookup
- 基于opencv python 的网线线序识别(一)
- python爬取12306火车票信息_python利用selenium+requests+beautifulsoup爬取12306火车票信息...
- jQuery用DOM遍历实现商城结算系统
- ps界面为啥突然变大了_PS教程丨皮肤美白修饰
- 2021最新 北京互联网公司排名
- 网络安全:namp扫描工具
- 信号是受噪声Nt干扰的余弦波Xt = Acoswt + φ + Nt,试求它的自相关函数。假设φ是在[0, 2Π]上均匀分布的随机变量,Nt是均值为0方差为σ2的白噪声,且 Nt 与 φ 互不相关。
- matlab定义双精度型变量_matlab双精度浮点数编码及区间覆盖(原创)