抽象类和接口
抽象类
abstract修饰符可以修饰方法和类,即为抽象方法和抽象类
抽象类中可以没有抽象方法,但有抽象方法的类一定要声明为抽象类
抽象类里面可以写普通方法,抽象方法必须在抽象类里
抽象类,不能使用new关键词来创建对象,它是用来人子类继承的
抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的
子类继承抽象类,必须实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类
//抽象类的所有方法,继承了它的子类,都必须要实现它的方法,除非子类也是抽象类,那由子子类去实现
public class A extends Acition{
@Override
public void doSomething(){
}
}
接口
如果你是...则必须能...
接口可以多继承
接口自己无法写方法,约束和实现分离
声明类的关键字是class,声明接口 的关键字是interface
public interface UserService{}//创建一个接口
public class UserServiceImpl inplements UserService{}//实现一个接口
接口
public interface UserService{
/*public abstract*/ void run();//public abstracts 是默认的可写可不写
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
接口的实现类
//类可以实现接口 inplements 接口
//实现了接口的类,就需要重写接口中的方法
public class UserServiceImpl inplements UserService,TimeService//TimeService利用接口实现多继承
{
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void timer() {
}
}
接口作用
-
约束
-
定义一些方法,让不同的人实现~10 ---> 1
-
public abstract
-
public static final
-
接口不能被实例化~,接口中没有构造方法~
-
implements 可以实现多个接口
-
必须要重写接口中的方法~