abstract和interface的使用
一、abstract的使用
1.abstract类
(1)抽象类不能被实例化
(2)定义的抽象类只能被继承后才能使用,且一个类只能继承一个抽象类,
2.抽象方法
(1)abstract 关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。
抽象方法没有定义,方法名后面直接跟一个分号,没有花括号。
public abstract class Man{
public abstract double walk();
}
(2)一个抽象类可以没有抽象方法,而包含抽象方法的类必须为抽象类;
(3)一个类继承抽象类后,必须对抽象类中的抽象方法进行重写,不然将该子类定义为抽象类;
二、interface的使用
1.interface定义一个接口,一个类可以继承多个接口;
2.接口中可以定义:
(1)变量,且必须为public static final修饰的变量,
(2)方法,默认为且只能为public abstract
3.接口与接口之间可以继承,且可以多继承;
4.实现类中必须重写接口中所有的抽象方法,否则该类仍为抽象类;
5.使用 接口名.super.方法名 调用接口中默认定义的方法;