to tianyidan: 问题是问的为什么“类”不能用super,接口不是“类”to ahyu122: 你试试下面这个程序会有问题么?不仅用了private,还有final,连子类都是申明为final的。 class Parent { public void test() { System.out.println("Parent.test()"); } }final class Sub extends Parent { public Sub() { super(); } public final void test1() { System.out.println("In final -- "); super.test(); }
private final void test2() { System.out.println("In private final -- "); super.test(); }
public final void test3() { test2(); } }public class Test { public static final void main(String[] args) { Sub test = new Sub(); test.test1(); test.test3(); } }
super 是调用父类的关键字 一般子类需要用到父类,传参数的时候可以写super(参数); 这个super();是在子类里面写的.
Object是所有类的基类,可以使用super么?
不过Object的代码也不需要你自己写,需要使用super么?
呵呵!
2.private 属性或方法
暂时想到就这些,还有其他看具体的类吧
问题是问的为什么“类”不能用super,接口不是“类”to ahyu122:
你试试下面这个程序会有问题么?不仅用了private,还有final,连子类都是申明为final的。
class Parent {
public void test() {
System.out.println("Parent.test()");
}
}final class Sub extends Parent {
public Sub() {
super();
} public final void test1() {
System.out.println("In final -- ");
super.test();
}
private final void test2() {
System.out.println("In private final -- ");
super.test();
}
public final void test3() {
test2();
}
}public class Test {
public static final void main(String[] args) {
Sub test = new Sub();
test.test1();
test.test3();
}
}
一般子类需要用到父类,传参数的时候可以写super(参数); 这个super();是在子类里面写的.