Java中的getClass()方法
2023-09-14 09:13:19 时间
Java中的getClass()
方法
- 当使用getClass()方法的对象是普通类对象时,getclass()方法返回当前对象的类的信息。代码如下
public class Test
{
public static void main(String args[]){
Test t = new Test();
System.out.println(t.getClass().getName()=="Test");
System.out.println(t.getClass().getCanonicalName());//获取权威的类名
}
}
getName()方法,返回类名。
getCanonicalName()返回权威的类名。比如说,如果该类是一个匿名类,则返回输出null;如果该类是根据java语法创建出的类,则返回输出类名。
- 当使用getClass()方法的对象是内部类的对象时:
public class Test
{
public void Test(){
System.out.println("This is constructor of test!");
}
public static void main(String args[]){
Test t = new Test();
Person p = t.new Person();//新建一个内部类对象
System.out.println(t.getClass().getCanonicalName());//获取权威的类名
System.out.println(p.getClass().getCanonicalName());
}
//内部类
class Person {
public void play(String sportName) {
System.out.println("I'am LittleLawson,I like play" + sportName);
}
}
}
输出结果如下:
Test
Test.Person
- 当使用getClass()方法的对象是匿名内部类的对象时
abstract class People{
public void eat(String food){}
}
public class Test
{
public static void main(String args[]){
//匿名内部类
People peo = new People(){
@Override
public void eat(String food) {
System.out.println("I'm eating "+ food);
}
};
peo.eat("beat");
peo.getClass();//不输出任何类名
peo.getClass().getCanonicalName();//不输出任何信息(为null)
}
}
相关文章
- java实现遍历树形菜单方法——Dao层
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- Java 第十一届 蓝桥杯 省模拟赛 递增序列
- Java实现洛谷 P1062 数列
- Java实现 LeetCode 491递增子序列
- Java实现 洛谷 P1036 选数
- Java实现第九届蓝桥杯小朋友崇拜圈
- Java实现二分图的最大权匹配
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- java String/StringBuilder 方法
- Java aes加密C#解密的取巧方法
- java算法 -- 希尔排序
- 【JAVA】 02-Java对象细节
- jprofiler java应用内存监控、诊断分析
- 程序员面试系列之Java单例模式的攻击与防御
- Atitit smp prj 项目简化方法总结 目录 第一章 俩大原则准则1 第一节 极简主义原则 + 自由主义原则1 第二章 简单化架构1 第一节 简单语言php vs java1 第二
- Java中List的subList()方法及使用注意事项
- 【 华为OD机试 2023】 静态扫描 / 采用合理的缓存策略,最少需要的金币数(C++ Java JavaScript Python)
- mybatis添加数据时报出的错误: java.lang.IllegalArgumentException java.lang.ClassCastException
- Java 强引用、软引用、弱引用、幻象引用有什么区别
- Java: war包的作用及使用方法,如何解压后缀名为war的文件
- Java IO
- java.text.NumberFormat使用方法
- 【Java基金会】Java整理面试问题和评论(一)
- Java开发技术之成为高级java工程师必须学习的三个技术
- Android NDK jni调用java类的方法
- Java操作Excel中HSSFCell.CELL_TYPE_STRING、BOOLEAN、NUMERIC无定义解决方法