我自己写的一个例子,就是override父类的private方法,编译和运行并没有提示什么错误啊!
-------这句话是正确的。因为private是一个类的私有方法,它的子类完全看不到它的private方法。当子类定义一个与父类的私有方法同名的函数时,编译器把它当成一个全新的函数来看待。这样做是没有错误的。
有代码如下:
class Super{
private void method(){
System.out.println("super");
}
}
public class TestPrivate extends Super{
public void method(){
System.out.println("sub class");
}
public static void main(String[] args){
TestPrivate obj1 = new TestPrivate("abc");
obj1.method();
}
}
正确编译,输出结果为:
sub class
-------这句话是正确的。因为private是一个类的私有方法,它的子类完全看不到它的private方法。当子类定义一个与父类的私有方法同名的函数时,编译器把它当成一个全新的函数来看待。这样做是没有错误的。
有代码如下:
class Super{
private void method(){
System.out.println("super");
}
}
public class TestPrivate extends Super{
public void method(){
System.out.println("sub class");
}
public static void main(String[] args){
TestPrivate obj1 = new TestPrivate("abc");
obj1.method();
}
}
正确编译,输出结果为:
sub class