集册 Java 面试笔记 super 程序题

super 程序题

—— Super 程序题

欢马劈雪     最近更新时间:2020-08-04 05:37:59

395

题目一

class Base{
    Base(){
        System.out.println("Base");
    }
}

public class Checket extends Base{
    Checket(){
        System.out.println("Checket");
        super();
    }
    public static void main(String argv[]){
        Checket a = new Checket();
    }
}

输出是什么? 是 compile time error. super() 必须放在前面.

放在前面之后,输出为 Base Checket

题目二

import java.util.Date;

public class Test extends Date{

    public static void main(String[] args) {
       new Test().test();
    }

    public void test(){
       System.out.println(super.getClass().getName());
    }
}

返回的结果是 Test

因为super.getClass().getName() 调用了父类的 getClass() 方法, 返回当前类

如果想得到父类的名称,应该用如下代码:

getClass().getSuperClass().getName()

题目三

展开阅读全文