码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA基础(四)面试题

时间:2018-04-19 19:14:30      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:Java基础   Java程序员面试   

面试题:

  • 构造代码块,构造方法,静态代码的优先级?
  • 静态代码块>构造代码块>构造方法

面试题: overload和override的区别?
overload:方法重载
方法名一样,参数不同,和返回值没有关系
参数不同:
1)参数个数不同
2)参数类型不同
override:方法重写 (子类定义一个和父类一摸一样的方法声明)
继续中使用到的

2 关于this和super的区别?
this:代表当前类的对象
super:代表父类空间标识,理解为代表父类的对象

    应用场景:
            this:
            super:
                    成员变量
                            this.成员变量
                            super.成员变量
                    成员方法
                            this.成员方法()
                            super.成员方法();

                    构造方法
                            this()/this("..")
    面试题:
  • 局部内部类访问局部变量,那么会出现问题?(jdk7以前包括jdk7,这个有问题的)
  • 会报错,需要给局部变量添加final修饰...
  • 为什么这个局部变量必须用final修饰?
  • 应为局部变量在内部类中还要被使用,将变量变成固定值,在内存中始终存在,通过main方法中调用内部类中的成员。

    匿名内部类面试题:
    按照要求,补齐代码
    interface Inter { void show(); }
    class Outer { //补齐代码 }
    class OuterDemo {
    public static void main(String[] args) {
    Outer.method().show();
    }
    }
    要求在控制台输出”HelloWorld”

  • */
    interface Inter3{
    void show() ;//public abstract
    }
    class Outer7{
    //补齐代码
    public static Inter3 method() {

    //返回的是接口:当前并不提供接口的子实现类,所以只能用匿名内部类
    return new Inter3() {
        public void show() {
            System.out.println("helloworld");
        }
    };

    }
    }
    //测试类
    public class Test {

    public static void main(String[] args) {

    Outer7.method().show();

    }
    }

JAVA基础(四)面试题

标签:Java基础   Java程序员面试   

原文地址:http://blog.51cto.com/13670525/2105507

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!