codecamp

基础程序题

题目一

class Base{}


class Agg extends Base{
    public String getFields(){
        String name = "Agg";
        return name;
    }
}


public class Avf{
    pulic static void main(String argv[]){
        Base a = new Agg();
        //here
    }
}

下面哪个选项的代码替换到//here会调用getFields方法,使出书结果是Agg

A. System.out.println(a.getFields()); B. System.out.println(a.name); C. System.out.println((Base)a.getFields()); D. System.out.println(((Agg)a).getFields());

答案 D

Base 类要引用 Agg 类的实例需要把 Base 类显示地转换成 Agg 类,然后调用 Agg 类中的方法. 如果 a 是 Base 类的一个实例,是不存在这个方法的,必须把 a 转换成 Agg 的一个实例

题目二

class A{


    public A(){
        System.out.println("A");
    }
}


public class B extends A{


    public B(){
        System.out.println("B");
    }


    public static void main(String[] args){
        A a = new B();
        a = new A();
    }
}

输出结果是 A B A

题目三

class A{
    public void print(){
        System.out.println("A");
    }
}


class B extends A{
    public void print(){
        System.out.println("B");
    }
}


public class Test{
    ..
    B objectB = new B();
    objectB.print();


    A as = (A) objectB;
    as.print();


    A asg = objectB;
    asg.print();


    as = new A();
    as.print();
    ..
}

输出为 B B B A

题目四

public class Test {
    public static void main(String[] args){
        Father father = new Father();
        Father child = new Child();
        System.out.println(father.getName());
        System.out.println(child.getName());
    }
}


class Father{
    public static String getName(){
        return "Father";
    }
}


class Child extends Father{
    public static String getName(){
        return "Child";
    }
}

输出是 Father Father 因为这里的方法 getName 是静态的. 具体执行哪一个,则要看是由哪个类来调用的.

基础概念题
super 关键词
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Java 面试笔记

Java

多态 Polymorphism

Static 关键字

int 与 integer

Programme

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }