欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中的getClass()以及getName()方法使用

程序员文章站 2022-06-10 15:17:48
目录getclass()及getname()方法使用getclassgetname关于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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。