抽象类
特点
1.不能new抽象类,只能靠子类实现。
‘Action’ is abstract; cannot be instantiated
2.抽象类中可以有普通方法,抽象方法必须在抽象类中。
3.抽象类存在构造方法,一般用于子类继承这个抽象类。
4.方便管理代码。
关键字 abstract
e.g. public abstract class Action
抽象方法
public abstract class Action {
//abstract方法只有名字,没有实现
public abstract void dosomething();
}
抽象类的子类
抽象类的子类必须实现(重写)抽象类的方法,除非子类也是抽象类
public class A extends Action{
@Override
public void dosomething() {
}
}
或
public abstract class A extends Action{
}
接口
关键字 interface
1.只能写方法名,不能实现。
2.在接口中,所有定义方法前默认带有public abstract
3.在接口中,所有定义方法前默认带有public static final(常量)。
4.接口不能被实例化,没有构造方法。
5.通过implements实现接口,必须重写接口方法。
实现类
关键字 implements
类可以实现接口,用法:“class” implements “interface”
1.和抽象类相似,实现接口的类必须要实现抽象类中的方法。
2.可以多继承。
public interface TimeService {
void timer();
}
public interface UserService {
int AGE = 99;
void add(String name);
void delete(String name);
void updata(String name);
void query(String name);
}
public class UserServiceImpl implements UserService, TimeService{
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void updata(String name) {
}
@Override
public void query(String name) {
}
@Override
public void timer() {
}
}