java复习

2020-06-21接口

2020-06-21  本文已影响0人  智障猿

接口

  1. 接口用关键字interface修饰:public interface 接口名{}
  2. 类实现接口用implements表示:public class 类名 implements 接口名{}
  3. 接口不能实例化:参照多态的方式,通过实现类对象实例化,叫做接口多态
  4. 接口的实现类
    要么重写接口中所以抽象方法
    要么是抽象类
  1. 成员变量
    只能是静态常量
    默认修饰符:public static final
  2. 构造方法
    接口没有构造方法,因为接口主要是对行为进行抽象。
    一个类如果没有父类,默认继承自Object类。
  3. 成员方法
    只能是抽象方法
    默认修饰符:public abstract

接口实例

public abstract class Animal {
    //成员变量
    private String name;
    private int age;

    //构造方法
    public Animal() {
    }
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    //成员方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }

    public void eat(){
        System.out.println("动物要吃饭!");
    }
}
public interface Jumping {
    public abstract void jumpheight();
}

public class Cat extends Animal implements Jumping{
    public Cat(String name, int age) {
        super(name, age);
    }
    @Override
    public void jumpheight() {
        System.out.println("小猫经过训练,学会跳高!");
    }

    @Override
    public void eat() {
        System.out.println("猫吃鱼!");
    }
}
public class AnimalDemo {
    public static void main(String[] args) {
        Animal animal = new Cat();
        animal.setAge(18);
        animal.setName("加菲猫");
        System.out.println(animal.getName()+animal.getAge());
        animal.eat();
        //animal.jumpheight();报错因为父类中没有jumpheight方法

        Jumping j = new Cat();
        j.jumpheight();
        //j.eat();报错因为接口中没有eat方法

        Cat cat = new Cat();
        cat.setName("波斯猫");
        cat.setAge(18);
        cat.eat();
        cat.jumpheight();
    }
}

类与接口的关系

抽象类和接口的区别

上一篇下一篇

猜你喜欢

热点阅读