抽象类
什么是抽象类
抽象类就是abstract修饰的类,具体见 关键字篇
个人感觉抽象类是介于父类和接口之间的类.
抽象类就是给定一个方法的定义,具体还需要实例去编辑这个方法,当然里面也可以定义一些具体的方法
接口
什么是接口
接口就是有interface修饰的
接口的属性只能是public static final 修饰的
方法必须是 public abstract 修饰的,不能有方法体(jdk 1.8以上的方法还可以有普通方法和静态方法)
接口没有静态代码块 和够着方法.
接口回调
理解为就是给进去一个东西 ,传出来一个东西 ,不需要管它的执行过程. 有利于代码的逻辑性 .
例子(耳机应该是被电脑控制调用的,如果说按平常的写法,那就是耳机自己调用了自己的方法):
1.接口 2.接口实现3,回调实现 4.使用运行类
package jiekouhuidiao;
//饭店工作人员
//接口
public interface Jiekou {
public abstract void gongneng();
}
package jiekouhuidiao;
//实例化接口
public class Erji implements Jiekou{
public void gongneng() {
//厨师
System.out.println("耳机已插入,能正常控制");
}
}
public class Computer {
private Jiekou jiekou;
//给一个厨师,
public Computer(Jiekou jiekou) {
this.jiekou =jiekou;
}
public void open() {
System.out.println("电脑已开机");
jiekou.gongneng();
//这个厨师返回一顿饭
}
}
public class Test {
public static void main(String[] args) {
Computer computer = new Computer( new Erji());
computer.open();
//怎么做的不管
}
}
接口和抽象类的区别
抽象类和方法的种类不同
抽象类还可以包含,非抽象方法和不是静态最终类
接口 没有静态和 动态的代码块
类与类
继承:单继承
聚合:多聚合
类与接口
实现:多实现 implements a,b,c,d,
接口与接口
继承:多继承 extends a,b,c,d
接口的implements叫做接口的实现
接口里面方法都是抽象的,创建对象时必须 重写
抽象类里可以有抽象方法,但是也可以有抽象方法,抽象方法必须重写
父类,里都是普通方法