首页主机资讯Java面向对象编程super如何使用

Java面向对象编程super如何使用

时间2024-10-31 17:26:04发布访客分类主机资讯浏览1343
导读:在Java中,super关键字用于引用父类(或基类)的一个对象。它主要用于以下几种情况: 避免父类方法的隐藏(Override):当子类重写父类的方法时,可以使用super关键字调用父类的同名方法。这样可以确保父类的方法不会被子类完全隐藏...

在Java中,super关键字用于引用父类(或基类)的一个对象。它主要用于以下几种情况:

  1. 避免父类方法的隐藏(Override):当子类重写父类的方法时,可以使用super关键字调用父类的同名方法。这样可以确保父类的方法不会被子类完全隐藏。
class Animal {

    void makeSound() {
    
        System.out.println("The animal makes a sound");

    }

}


class Dog extends Animal {

    @Override
    void makeSound() {
    
        super.makeSound();
     // 调用父类的makeSound方法
        System.out.println("The dog barks");

    }

}

  1. 访问父类的成员变量(Field):当子类需要访问父类的成员变量时,可以使用super关键字。注意,子类不能直接访问父类的私有变量(private),但可以通过公共的getter和setter方法来访问。
class Person {
    
    private String name;


    public String getName() {
    
        return name;

    }


    public void setName(String name) {
    
        this.name = name;

    }

}


class Employee extends Person {

    public void printName() {
    
        super.setName("John Doe");
     // 设置父类的name变量
        System.out.println(super.getName());
 // 访问父类的name变量
    }

}

  1. 调用父类的构造方法:当创建子类对象时,如果子类没有显式地定义构造方法,那么将自动调用父类的无参构造方法。如果子类定义了构造方法,但仍然需要调用父类的构造方法,可以使用super关键字。
class Person {
    
    private String name;


    public Person() {
    
        this.name = "Unknown";

    }


    public Person(String name) {
    
        this.name = name;

    }

}


class Employee extends Person {

    public Employee() {
    
        super("Employee");
 // 调用父类的带参构造方法
    }

}
    

总之,super关键字在Java面向对象编程中用于引用父类的对象、方法和成员变量,以便在子类中实现多态性、避免父类方法的隐藏以及调用父类的构造方法等操作。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java面向对象编程super如何使用
本文地址: https://pptw.com/jishu/705415.html
Python函数定义怎样才规范 Java面向对象编程中this关键字用法

游客 回复需填写必要信息