Java思维---继承(OOP三大特性)

70 阅读1分钟

一、需求重定义

扩充思维,当我们设计了一个产品,最初目的可能是面向单一的养狗用户。

那么,怎样做才能让我们设计的产品同样能够在养猫用户身上复用呢?

思维再上升一个层面,设计一个动物类的产品,因为动物身上有很多共性。


二、继承

extends指继承,子类继承了父类的属性和方法

目录:

:sagittarius:com.fleming.try

(父类)Animal

(子类)Dogs

(子类)Cats

(子类)Hamsters

(main)Application

// 父类
public class Animal{
    private static string TEXT_COMMUNITY_NAME="NanG";
    @Getter @Setter
    private String name;
    private int age;
    public void eat(){
        System.out.println(this.name+"在吃饭");
    }
    public void sleep(){
        System.out.println(this.name+"在睡觉");
    }       
}
// 子类
public class Dogs extends Animal{}
public class Cats extends Animal{}
public class Hamsters extends Animal{}
public class Application{
    public static void main(String[] args){
        Dogs Dog1=new Dogs;
        Dog1.setName("Jerry");
        Dog1.setAge(2);
        System.out.println(Dog1);
                
        Dogs Cat1=new Cats;
            Cat1.setName("Tom");
        Cat1.setAge(3);
        System.out.println(Cat1);
        
        Dog1.sleep();
        Cat1.eat();s
    }
}

三、多重继承

目录:

:sagittarius:com.fleming.try

(父类)Animal

(子类)Dogs(父类)

(子类)Cats

(子类)Hamsters

(“孙”类)Labrador(子类)

(main)Application


子类不能直接继承两个类:

class A extend B,C (错误)

能够使用此方法间接继承:

class A extend B

class C extend A (正确)

// 多重继承
public class Labrador extends Dogs{}