Object 类的 getClass方法

在看一个开源框架的源代码,发现代码里有一个getClass()方法,不知道哪里来的,看代码提示说是object类的一个方法,

Class<? extends Hello> java.lang.Object.getClass()


Note: This element neither has attached source nor attached Javadoc and hence no Javadoc could be found.

于是去查了api,发现有如下描述

Class Object is the root of the class hierarchy. Every class has
Object as a superclass. All objects, including arrays, implement the
methods of this class. Object
类是处于Java类的继承层级关系的最顶层,声明的每一个类都以Object类作为超类,

getClass

getClass 用于Java的反射机制,返回这个对象的类,直接在类中使用的时候就是返回当前类。

package demo;
public class Hello {
     Hello a;
    public Hello(){
        System.out.println("Hello");    }
    public void test(){
        try {a = getClass().newInstance();}
        catch (Exception e) {throw new RuntimeException(e);}
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
           //第一次通过构造方法实例化一次
           Hello hello = new Hello();
           //调用test方法给类中的本类对象实例化
           hello.test();
    }

}

运行结果会发现出现两次Hello
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值