技术blog03 by 八戒

来源:互联网 发布:淘宝哪家包包好看 编辑:程序博客网 时间:2024/04/30 06:30

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

(面试题)
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("")
0 0
原创粉丝点击