抽象类和接口

抽象类和接口

抽象类

特点:

  1. 不能实例化
  2. 只能靠子类去实现方法
  3. 抽象类里可以写普通方法,但是抽象方法必须写在抽象类中
// abstract抽象类
// java种类是单继承的,但是接口是多继承的
public abstract class Demo1 {
    // 抽象方法
    // 只有方法名,没有方法的实现
    public abstract void doSomething();
}
// 继承抽象类
// 非抽象类继承抽象类就必须重写抽象方法
// 抽象类的所有方法都要由子类实现
public class A extends Demo1{
    @Override
    public void doSomething() {

    }
}

接口(interface)

相对抽象类,不能写具体方法,但是可以多继承,是专业用于约束规范的

可以使项目实现约束和实现分离:面向接口编程

第一个接口:

// interface 接口
// 接口都需要有实现类
public interface Action {
    // 接口中可以定义属性
    // 接口中所有定义的属性默认都是 public static final
    // 一般用不到

    int AGE = 10;
    
    // 接口中的所有定义的方法都默认是 public abstract

    // 接口里面不能写具体的方法
    // 比如 public abstract void add();
    // 可以直接写成
    void add(String name);
    void del(String name);
}

第二个接口

public interface Action2 {
    void run();
}

实现类

// 实现类
// 命名规范为:接口名+Impl
// 使用implements实现接口,必须重写里面的方法
// 可以利用接口实现伪多继承,使用(,)隔开
public class ActionImpl implements Action,Action2{
    @Override
    public void add(String name) {

    }

    @Override
    public void del(String name) {

    }

    @Override
    public void run() {

    }
}
posted @ 2022-01-24 19:43  CoderCatIce  阅读(31)  评论(0编辑  收藏  举报