面试题: overload和override的区别?
overload:方法重载
方法名一样,参数不同,和返回值没有关系
参数不同:
1)参数个数不同
2)参数类型不同
override:方法重写 (子类定义一个和父类一摸一样的方法声明)
继续中使用到的
2 关于this和super的区别?
this:代表当前类的对象
super:代表父类空间标识,理解为代表父类的对象
应用场景:
this:
super:
成员变量
this.成员变量
super.成员变量
成员方法
this.成员方法()
super.成员方法();
构造方法
this()/this("..")
面试题:
应为局部变量在内部类中还要被使用,将变量变成固定值,在内存中始终存在,通过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();
}
}
原文地址:http://blog.51cto.com/13670525/2105507