abstract类与接口
抽象类
1.抽象方法:只声明,且没有方法体
2.抽象类与抽象方法的用法
比如:有一个student的接口,里面有study的方法
有大学生类,高中类,初中类去继承这个接口,这时候这三个类都要去重写这个接口里面的方法.
但是,这样会造成多少有点相同,比如这个study方法有返回值,或者得输出一些东西,那有一些类就是不想输出啊,怎么办?
想要每个子类都可以按照自己的想法输出,这时候就需要abstract来修饰这个方法,
public abstract study();方法体由继承者们随意发挥.
接口
1.interface关键字
2.只含有常量public static final 和抽象方法public abstract这两样东西
3.无构造方法,不能被实例化(new一个对象)
4.子类必须重写完全部方法,要想继承其中的几个,变为抽象类即可
抽象类与接口的比较
1.抽象类里面可以有普通的方法和变量,接口里面只能是abstrac关键字修饰的方法
2.都不能使用new关键字来产生对象
3.含抽象方法的类必须是抽象类,子类必须是重写完全部的抽象方法才能实例化,不然这个子类还是个抽象类