广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java面试题:Super程序题合集_北大青鸟IT学校

作者:邓华发布时间:2021-06-04分类:Java技术浏览:972


导读:最近惠州北大青鸟学员都在练习Java面试题,那么大家知道Super程序题合集吗?下面老师给大家解答一下这个问题。

最近惠州北大青鸟学员都在练习Java面试题,那么大家知道Super程序题合集吗?下面老师给大家解答一下这个问题。

题目一

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()

题目三

public abstract class Car {

    String name = "Car";

    public String getName(){

        return name;

    }

    public abstract void demarre();

}

public class B extends Car{

    String name = "B";

    public String getName(){

        return name;

    }

    public void demarre() {

        System.out.println(getName() + " demarre");

    }

}

public class C extends B{

    String name = "C";

    public String getName(){

        return name;

    }

    public void demarreWithSuper() {

        System.out.println(super.getName() + " demarre");

    }

    public void demarreNoSuper() {

        System.out.println(getName() + " demarre");

    }

}

public class D extends B{

    public String getName(){

        return name;

    }

    public void demarreNoSuper() {

        System.out.println(getName() + " demarre");

    }

}

public class Test {

    public static void main(String[] args) {

        B b = new B();

        b.demarre();

        Car bCar = new B();

        bCar.demarre();

        C c = new C();

        c.demarre(); // c 里并没有定义这个函数

        c.demarreWithSuper();

        c.demarreNoSuper();

        D d = new D();

        d.demarre();

        transfer(c);    // TransferC

        transfer((B)c); // TransferB

        transfer(d);    // TransferB

    }

        public static void transfer(B b){

            System.out.println("TransferB");

            b.demarre();

        }

        public static void transfer(C c){

            System.out.println("TransferC");

            c.demarre();

        }

    }

}

输出是 B demarre B demarre C demarre B demarre C demarre B demarre TransferC C demarre TransferB C demarre TransferB B demarre

点击咨询直接了解更多相关资料,我在惠州北大青鸟新方舟等你。

Java16.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表