抽象类 abstract
约束,有人帮我们实现
子类继承父类,就必须重写抽象父类的抽象方法
抽象类中可以有抽象方法有可以有非抽象方法
public abstract class Student {
public abstract void name();
public void name1() {
System.out.println("哈哈");
}
public Student(){
}
}
extends 单继承
不能new 抽象类,只能靠子类去实现父类的抽象方法
接口 interface
接口中只有方法,没有实现方法
功能:约束和实现分离,面向接口的编程
接口的本质就是契约
接口不能被实例化,因为没有构造方法
接口中的所有定义都是抽象的
public interface SuHao {
void name();
int age = 10;
}
接口一般都有实现类,要实现接口就必须重写接口的所有方法
public class StuSu implements SuHao {
@Override
public void name() {
}
}
abstract和interface区别
前者是用extends 后者是用implements
前者可以写抽象方法和非抽象方法,后者只能写抽象方法
属性装对象,对象装集合(封装)
装箱 将对象装到集合
拆箱 将对象从集合中取出来