Java中private方法能重写吗?

更新时间:2023-05-25 21:55

下面是测试代码

 
public class A {
    private void print() {
        System.out.println("A");
    }
    public static void main(String[] args) {
        A a = new B();
        a.print();
        B b = new B();
        b.print();
    }
}

class B extends A {
    public void print() {    
        System.out.println("B");
    }
}
 

运行结果

A

B

分析

在Java中,所有的private方法默认是final的,即不可继承的。所以当B继承A时,A的private方法print()不被B继承。

而B中的public方法print()相当于B添加的一个方法,不属于重写。