一、Abstract Class 抽象类
1.设计和实现相分离
2.抽象方法用abstract修饰,没有方法体,必须被实现
3.有抽象方法的类必须是抽象类,抽象类中可以有普通方法
4.抽象类中的构造方法不能通过new实例化,但可以被子类调用
5.抽象类用abstract修饰,不能实例化,只能被继承
6.子类如果不是抽象类,必须重写父类全部抽象方法
7.abstract不能和final或private一起使用
public abstrct class Pet{
public final static int PET_AGE=3;
public abstrct Voice cry(Pet pet);
public void sleep(Pet pet){
System.out.print(pet+"喜欢睡觉");
}
}
二、Interface 接口
1.接口中没有构造方法
2.接口中常量必须赋值
3.接口中必须有抽象方法
3.接口中可以有普通方法
4.接口不能用abstract和private修饰
5.接口中无需填写public abstract,public final static
6.接口可以继承多个父接口
public interface Cry{
int CRY_LEVEL="0";
String CRY_TYPE="叫声类型";
Voice cry(Pet pet);
}
public class Bird implements Cry,Fly{
Pet pet=new Bird();
public Voice cry(pet){
bird.cry();
}
private void cry{
System.out.print("鸟喜欢叽叽喳喳");
}
}