Java 类 和 接口

  • 类和类只能是继承, 类不能继承构造函数

  • 类与接口, 类可以实现多个接口, 不能继承接口

  • 接口与接口, 接口可以继承多个接口, 不能实现接口

  • 类 类 接口, 类只能继承一个类, 同时实现多个接口

抽象类 与 接口

抽象类

  • 成员变量: 常量 或者 变量
  • 构造方法: 有
  • 成员方法: 可以抽象, 也可以非抽象

接口

  • 成员变量: 常量
  • 成员方法: 抽象方法, 强制, 不写也会默认抽象
abstract class Demo1_Animal {
    public static void main (String[] args) {
        Cat c = new Cat(12, "美短");
        c.eat();
        c.sleep();
        JumpCat jumpCat = new JumpCat(1, "跳高猫");
        jumpCat.eat();
        jumpCat.sleep();
        jumpCat.jump();
    }
}

abstract class Animal{
    private int age;
    private String name;

    Animal(){ }
    Animal(int age, String name){
        this.age = age;
        this.name = name;
    }
    public void setAge(int age){
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName() {
        return name;
    }
    abstract public void eat();
    abstract public void sleep();
}

class Cat extends Animal{
    private int age;
    private String name;
    Cat(){}
    Cat(int age, String name){
        super(age, name);
    }
    public void eat(){
        System.out.println("Fish");
    }
    public void sleep(){
        System.out.println("sleep whit bowl");
    }
}
interface Jump{
    public void jump();
}

class JumpCat extends Cat implements Jump{
    JumpCat(){}
    JumpCat(int age, String name){
        super(age,name);
    }
    public void jump(){
        System.out.println("jump height");
    }
}