子类可以访问父类的哪些方法?
子类可以访问父类的哪些方法?
子类可以访问父类中的公共(public)和受保护(protected)方法,以及默认(default)访问修饰符修饰的方法。这是因为这些访问修饰符定义了方法的可见性和访问权限。
具体来说,公共方法可以被任何类访问,受保护方法可以被子类和同一包中的其他类访问,而默认访问修饰符修饰的方法可以被同一包中的其他类访问。
子类可以通过继承和覆盖来使用父类中的方法。当子类继承父类时,它将自动继承父类中的所有公共和受保护方法,以及默认访问修饰符修饰的方法。子类可以通过继承来使用这些方法,也可以通过重写这些方法来更改它们的实现。
例如,假设有如下的父类和子类:
public class Animal { public void eat() { System.out.println("动物正在吃饭...");} protected void sleep() { System.out.println("动物正在睡觉...");} void move() { System.out.println("动物正在移动...");}}public class Cat extends Animal { public void meow() { System.out.println("猫正在喵喵叫...");} @Override public void eat() { System.out.println("猫正在吃鱼...");}}public class Test { public static void main(String[] args) { Cat cat = new Cat();cat.eat(); cat.sleep(); cat.move(); cat.meow(); }}
在这个示例中,Animal类中定义了一个公共方法eat()、一个受保护方法sleep()和一个默认访问修饰符修饰的方法move()。Cat类继承了Animal类并定义了一个公共方法meow()。在Cat类中,重写了eat()方法,使之成为猫正在吃鱼的行为。在Test类的main()方法中,创建一个Cat对象,并调用了它从父类继承来的eat()、sleep()和move()方法,以及它自己定义的meow()方法。
需要注意的是,子类可以继承和访问父类中的公共和受保护方法,但是不能访问父类的私有(private)方法。私有方法只能被父类自身的方法访问,对于子类来说是不可见的。