Herança preliminar

1. Herança de classe

class Animal{
    
    
    String name;      //定义name属性
    //定义动物叫的方法
    void shout(){
    
    

        System.out.println("动物发出叫声");

    }
}

//定义Dog类继承Animal类
class Dog extends Animal{
    
          //Dog继承Animal,extends为继承的关键词
    //定义一个打印name的方法
    public void printName(){
    
    

        System.out.println("name="+name);

    }

}
//定义测试分
public class Demo01 {
    
    
    public static void main(String[] args) {
    
    
        Dog dog = new Dog();
        dog.name = "沙皮狗";
        dog.printName();
        dog.shout();
    }
}

Nota:

  • As classes suportam apenas herança única, herança múltipla não é permitida, ou seja, uma classe pode ter apenas uma classe pai direta.
class A()
class B()
class C extends A,B()   //C类不可以同时继承两个父类
  • Várias classes podem herdar uma classe pai.
  • Vários níveis de herança são permitidos.
  • Subclasse e classe pai são conceitos relativos, o que significa que embora uma classe seja uma classe pai, ela também pode ser uma subclasse de outra classe.

2. Substitua o método pai

class Animal{
    
    
    String name;      //定义name属性
    //定义动物叫的方法
    void shout(){
    
    

        System.out.println("动物发出叫声");

    }
}

//定义Dog类继承Animal类
class Dog extends Animal{
    
          //Dog继承Animal,extends为继承的关键词
    //定义一个打印name的方法

    void shout(){
    
    

        System.out.println("bark...bark...");

    }
}

public class Demo01 {
    
    
    public static void main(String[] args) {
    
    
        Dog dog = new Dog();     //重写Dog类的是咧对象
        dog.shout();             //调用dog重写的shout()方法
    }
}

Nota:

  • A subclasse herdará automaticamente os métodos da classe pai, mas às vezes o método herdado precisa ser modificado na subclasse, ou seja, o método da classe pai é reescrito.
  • O método sobrescrito na subclasse precisa ter o mesmo nome de método, lista de parâmetros e tipo de retorno que o método sobrescrito da classe pai.
  • Quando uma subclasse substitui um método da classe pai, ela não pode usar permissões de acesso mais restritivas do que o método substituído na classe pai.

3.super palavra-chave

为了解决:当子类重写父类的方法后,子类对象将无法访问父类被重写的方法。
  • Use a palavra-chave super para chamar as variáveis ​​de membro e variáveis ​​de membro da classe pai
super。成员变量
super,成员方法([参数1,参数2...])

Acho que você gosta

Origin blog.csdn.net/weixin_49207937/article/details/115148394
Recomendado
Clasificación