Java 继承方法实例详解
继承是面向对象编程中一个重要的概念,它允许我们在已有类的基础上创建新的类,同时继承的子类也能够拥有基类的属性和方法。在 Java 中,继承是通过关键字 extends
实现的,本文将详细讲解 Java 继承方法的实现方式以及相关注意事项。
继承方法的实现方式
在 Java 中,子类可以继承父类中的所有公有方法和受保护方法(protected)。
子类继承方法的实现方式如下:
public class Parent {
public void publicMethod() {
System.out.println("Parent public method");
}
protected void protectedMethod() {
System.out.println("Parent protected method");
}
}
public class Child extends Parent {
// 子类空实现
}
在上面的代码中,子类 Child
继承了父类 Parent
中的 publicMethod
和 protectedMethod
方法。
可以通过在子类中重写方法来实现子类对继承方法的扩展和覆盖:
public class Child extends Parent {
public void publicMethod() {
System.out.println("Child public method");
}
protected void protectedMethod() {
System.out.println("Child protected method");
}
}
在上面的代码中,子类 Child
重写了父类中的 publicMethod
和 protectedMethod
方法。
继承方法的调用
在子类中调用继承方法的方式有两种:
- 通过
super
关键字调用父类中的方法。
Java
public class Child extends Parent {
public void invokeParentMethod() {
super.publicMethod(); // 调用父类中的 publicMethod 方法
super.protectedMethod(); // 调用父类中的 protectedMethod 方法
}
}
- 直接调用子类自身的方法。
```Java
public class Child extends Parent {
public void invokePublicMethod() {
publicMethod(); // 调用子类自身的 publicMethod 方法
}
public void invokeProtectedMethod() {
protectedMethod(); // 调用子类自身的 protectedMethod 方法
}
}
```
示例说明
下面给出两个示例,演示了继承方法的使用。
示例一
在 Parent
类中定义两个方法 publicMethod
和 protectedMethod
,在 Child
类中覆盖了 publicMethod
方法,并添加了自己的方法 childMethod
。最后在 Main
类中创建 Child
对象并调用子类和父类的方法。
public class Parent {
public void publicMethod(){
System.out.println("Parent public method");
}
protected void protectedMethod(){
System.out.println("Parent protected method");
}
}
public class Child extends Parent{
public void publicMethod(){
System.out.println("Child public method");
}
public void childMethod(){
System.out.println("Child method");
}
}
public class Main {
public static void main(String[] args){
Child child = new Child();
child.publicMethod(); // 调用子类中的 publicMethod 方法
child.protectedMethod(); // 调用父类中的 protectedMethod 方法
child.childMethod(); // 调用自身的 childMethod 方法
}
}
输出结果:
Child public method
Parent protected method
Child method
示例二
在 Parent
类中定义两个方法 publicMethod
和 protectedMethod
,在 Child
类中覆盖了 protectedMethod
方法,并添加了一个新的方法 childMethod
。最后在 Main
类中分别使用 super
和 this
调用子类和父类的方法。
public class Parent {
public void publicMethod(){
System.out.println("Parent public method");
}
protected void protectedMethod(){
System.out.println("Parent protected method");
}
}
public class Child extends Parent {
public void protectedMethod() {
System.out.println("Child protected method");
}
public void childMethod() {
System.out.println("Child method");
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.protectedMethod(); // 调用子类中的 protectedMethod 方法
child.childMethod(); // 调用子类中的 childMethod 方法
super.publicMethod(); // 调用父类中的 publicMethod 方法
this.protectedMethod(); // 调用子类中的 protectedMethod 方法
}
}
输出结果:
Child protected method
Child method
Parent public method
Child protected method
结论
继承是 Java 中重要的特性之一,在继承过程中可以有效的减少冗余代码。子类通过继承父类中的方法可以减少代码的重复,并且可以重写方法实现子类对已有方法的扩展。同时也需要注意,子类继承方法的权限并不能高于父类的权限。因此需要在子类中合理的使用 super 和 this 关键字调用父类和子类方法,以实现继承方法的调用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 继承方法实例详解 - Python技术站