您的位置:首页 > 职场人生

黑马程序员 - 技术blog03 by 八戒

2015-03-28 13:35 113 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

今天来一发重量级的,保证大家学会后感觉自己瞬间高大上了。(友情提示:考点内部类)

(面试题)

1.interface Inter {

public abstract void show();

}

class Outer{

//补全代码

}

class Test{

public static void main(String[] args){

Outer.method().show();//输出"我爱学编程"

}

}

2.public class Test{

public static void main(String[] args){

if(......){ //括号中填写内容使控制台输出hello world

System.out.print("hello");

}else{

System.out.println("world");

}

}

}

以下是我个人的观点仅供参考,而我个人更希望能和大家多多讨论,共同进步:

第一题:

看到这个填代码的题,首先我们应该从主函数的main方法中寻找突破口,看到Outer.method()说明了method是一个

静态的方法,(因为可以用类名直接调用),其次是又.了一个show方法,因为show方法是Inter接口的一个抽象方法,

要想使用就先要实例化,所以不难看出Outer.method()返回的是一个Inter接口对象,并且还重写了Inter接口中的show

方法,所以答案也就差不多出来了.

第二题:

看到这个题你首先想到的应该是肯定要在main方法shang做文章,因为按照常理来说if语句和else语句中只能执行一个,

而要执行两个的话我想到的只有一个方法,那就是用匿名内部类传参先执行一个判断,然后再通过主函数的main在执行另一个

判断,所以答案也就差不多出来了.

答案见下方

第一题:

public static Inter method(){

return new Inter(){

public void show(){

System.out.println("我爱学编程");

}

}

}

第二题:

这个我就只写括号里面的了

args.length==1||new Test(){

{

Test.main(new String[]{"1"});

}

}.equals("")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: