Java中的getClass()以及getName()方法使用
目录
- getClass()及getName()方法使用
- getClass
- getName
- 关于getClass()与getName()一道题
- 在牛客网上看到的一道题目
getClass()及getName()方法使用
getClass
public final Class<?> getClass()
返回此 Object 的运行时类。返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象。
Java的引用变量有两个类型,编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。
public class StudentDemo { public static void main(String[] args) { Student ss = new StudentSon(1, 2); Class a = ss.getClass(); System.out.println(a.getName()); } }
getName
public String getName()
以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
实体:对象引用的目的地
该类运行时类型为StudentSon 编译时类型为Student ,则ss.getClass()返回StudentSon类
运行结果:
StudentSon
关于getClass()与getName()一道题
在牛客网上看到的一道题目
package test; import java.util.Date; public class SuperTest extends Date{ private static final long serialVersionUID = 1L; private void test(){ System.out.println(super.getClass().getName()); } public static void main(String[]args){ new SuperTest().test(); } }
1.super.getClass() 是父类的getClass()方法,其父类是Date,它的getClass()方法是继承自Object类而且没有重写,
2.在调用getName()方法而getName()是:包名+类名
所以输出的是
test.SuperTest
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
java 反射getClass .class 的使用方法示例
本文实例讲述了java 反射getClass .class 的使用方法.分享给大家供大家参考,具体如下: java反射机制 怎么从一个实例上的获得类反射 /** * obj 实例的对象 * getClass() 获得该实例类的反射 * @return * Class<? extends Object> */ obj.getClass(); //例子 String str1 = "123"; Class<?> strClass1 = str1.getClass()
-
Java中的Object.getClass()方法解析
目录 Java Object.getClass()方法 具体见下面的例子 Java Object.getClass()源码分析 1.栈 2.堆 3.老生代 Person类型元数据 反射机制 Java Object.getClass()方法 Object.getClass()方法,这个方法的返回值是Class类型,Class c = obj.getClass(); 通过对象c,我们可以获取该对象的所有成员方法,每个成员方法都是一个Method对象:我们也可以获取该对象的所有成员变量,每个成员变量都
-
Java instanceof和getClass()区别实例解析
对象 instanceof 类名,表示 对象是类名的实例,或者是其子类的实例,返回 true,否则返回 false. 对象.getClass() == 类名.class ,表示 只有对象是该类的实例,才返回 true class A { } class B extends A { } Object o1 = new A(); Object o2 = new B(); o1 instanceof A => true o1 instanceof B => false o2 instanceof A
-
Java中的getClass()以及getName()方法使用
目录 getClass()及getName()方法使用 getClass getName 关于getClass()与getName()一道题 在牛客网上看到的一道题目 getClass()及getName()方法使用 getClass public final Class<?> getClass() 返回此 Object 的运行时类.返回的 Class 对象是由所表示类的 static synchronized 方法锁定的对象. Java的引用变量有两个类型,编译时类型和运行时类型.编译时类型
-
java中Object类4种方法详细介绍
目录 Object(四大方法): hashCode()方法: equals()方法: getClass()方法: toString()方法: 总结 Object(四大方法): 文章干货满满,耐性看完~~何为Object?首先先来看看官方对Object的介绍:在这里附上Java官方的查阅工具:https://docs.oracle.com/en/java/javase/17/docs/api/index.html 由官方介绍可见,object属于Java.lang包内的一个类,而且提供了很多种方法
-
详解java中this.getClass()和super.getClass()的实例
详解java中this.getClass()和super.getClass()的实例 前言: 遇到this.getClass()和super.getClass()的返回值感到疑惑,经过探索豁然开朗. getClass()是java中Object类的一个方法,其原型为: public final Class<?> getClass() 返回值为 当前运行时类的Class对象. 所以写了一段代码来说明: getClass()不受this和super影响,而是有当前的运行类决定的. 代码如下: 父类
-
java 中Thread.join()的使用方法
java 中Thread.join()的使用方法 如果一个线程A执行了thread.join()语句,其含义是:当前线程A等待thread线程终止之后才从thread.join()返回. import java.util.concurrent.TimeUnit; /** * 6-13 */ public class Join { public static void main(String[] args) throws Exception { Thread previous = Thread.c
-
java中List对象排序通用方法
本文实例讲述了java中List对象排序通用方法.分享给大家供大家参考.具体分析如下: 在数据库中查出来的列表list中,往往需要对不同的字段重新排序,一般的做法都是使用排序的字段,重新到数据库中查询.如果不到数据库查询,直接在第一次查出来的list中排序,无疑会提高系统的性能. 只要把第一次查出来的结果存放在session中,就可以对list重新排序了.一般对list排序可以使用Collections.sort(list),但如果list中包含是一个对象的话,这种方法还是行不通的.那要怎么排序
-
Java中创建ZIP文件的方法
java创建zip文件的代码如下如下: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public cla
-
Java中如何正确重写equals方法
目录 1. 什么是equals方法? 1.1 equals方法: 2. 为什么要重写equals方法? 2.1 举个例子吧~ 3. 分析equals源码: 4. 正确重写equals方法: 重写equals方法的正确打开方式 正文开始@Assassin 1. 什么是equals方法? 我们首先得知道,Object类是 Java中所有类的父类(超类/基类),也就是说,在Java中,所有的类都是默认继承自Object类的,换言之,Object类中所实现的方法我们都可以直接拿来用.而equals方法便
-
详解Java中Optional类的使用方法
目录 一.Optional类的来源 二.Optional类是什么 三.Optional类用法 四.代码示例 1.创建Optional类 2.判断Optional容器中是否包含对象 3.获取Optional容器的对象 4.过滤 5.映射 五.什么场景用Optional 1.场景一 2.场景二 3.场景三 4.场景四 一.Optional类的来源 到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因.以前,为了解决空指针异常,Google公司著名的Guava项目引入了Optiona
-
深入了解Java中Synchronized的各种使用方法
目录 Synchronized关键字 Synchronized修饰实例方法 Synchronized修饰静态方法 Sychronized修饰多个方法 Synchronized修饰实例方法代码块 Synchronized修饰静态代码块 应该用什么对象作为锁对象 Synchronized与可见性和重排序 可见性 重排序 总结 在Java当中synchronized通常是用来标记一个方法或者代码块.在Java当中被synchronized标记的代码或者方法在同一个时刻只能够有一个线程执行被synchr
-
java中的可变参数使用方法
java中的可变参数使用方法 可变参数时Java 1.5新增的方法,可变参数方法接收0个或者多个指定类型的参数,可变参数机制通过先创建一个数组,数组的大小为在调用位置所传递的参数数量,然后将参数值传到数组中,最后将数组传递给方法.如: public class Test{ public int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum; } } 可变参数提供了方便,但是使用可变参
随机推荐
- ruby 正则表达式详解及示例代码
- JS 跳转页面延迟2种方法
- Android 图片缩放与旋转的实现详解
- IOS开发中使用UIFont设置字体及批量创建控件
- java编程调用存储过程中得到新增记录id号的实现方法
- JS实现六边形3D拖拽翻转效果的方法
- 基于jQuery的模仿新浪微博时间的组件
- ASP.NET下使用xml反序列化、缓存依赖实现个性化配置文件的实时生效
- php+mysql事务rollback&commit示例
- Mysql索引会失效的几种情况分析
- Mysql默认设置的危险性分析第1/2页
- DBA应该知道的一些关于SQL Server跟踪标记的使用
- php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
- 两种php给图片加水印的实现代码
- jQuery+CSS3实现3D立方体旋转效果
- Java老矣 尚能饭否?
- JS在浏览器中解析Base64编码图像
- C++ new/delete相关知识点详细解析
- C#验证码识别基础方法实例分析
- C#微信开发之获取接口调用凭据