继承初步

1.类的继承

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();
    }
}

注意:

  • 类只支持单继承,不允许多重继承,也就是一个类只能有一个直接父类。
class A()
class B()
class C extends A,B()   //C类不可以同时继承两个父类
  • 多个类可以继承一个父类。
  • 多层继承是允许的。
  • 子类和父类是相对的概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。

2.重写父类方法

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()方法
    }
}

注意:

  • 子类会自动继承父类中的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类方法进行重写。
  • 在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回类型。
  • 子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限。

3.super关键字

为了解决:当子类重写父类的方法后,子类对象将无法访问父类被重写的方法。
  • 使用super关键字来调用父类的成员变量和成员变量
super。成员变量
super,成员方法([参数1,参数2...])

猜你喜欢

转载自blog.csdn.net/weixin_49207937/article/details/115148394