抽象类abstract class 和接口interface
**一:**抽象类
1:抽象类的特点
特点1:
可以有已经实现的方法,也可以有抽象方法,子类继承的时候,如果子类不是抽象类,一定要重写父类的抽象方法
public abstract class Father {//父类
String name;
public String getName() {
return name;
}//实现了的方法
abstract void setName(String name);//抽象方法
}
public class Child extends Father{
@Override
void setName(String name) {
}//一定要重写,除非子类也是抽象类
}
二:接口
特点1:接口也可以有属性,但一定要初始化
特点2:方法只能是抽象方法,abstract关键字可以省略
public interface Jiekou1 {
int id = 0;
String getId();
void setId(int id);
}
特点3:类继承接口或者叫做实现接口 用implements关键字,一定要重写接口方法,除非这个类是抽象类
public class Child implements Jiekou1{
@Override
public String getId() {
return null;
}
@Override
public void setId(int id) {
}
}
public abstract class Father implements Jiekou1 {
}//.抽象类实现接口不强求重写方法
特点4: 一个类可以实现多个接口,用","分割
public abstract class Father implements Jiekou1,Jiekou2 {
}
特点四:抽象类继承接口但是没有重写接口方法,将来会让子类重写接口方法
public class Child extends Father{
@Override
public String getId() {
return null;
}
@Override
public void setId(int id) {
}//这些方法来自于接口
}