第六章 抽象类和接口
一、抽象类
public abstract class Pet {
}
访问修饰符 abstract class 类名{}
抽象类不能被实例化但可以创建一个引用变量,其类型是一个抽象类,指向非抽象的子类实例
父类类型 变量=new pet();
二、抽象方法
1、有无方法体
2、抽象方法必须被实现,如果子类没有实现父类的所有抽象方法,子类必须被定义为抽象类
3、抽象方法必须放在抽象类中,抽象类可以没有抽象方法
4、没有抽象构造方法,也没有抽象静态方法,可以有非抽象的构造方法
三、接口
写法:
public interface MyInterface {
public void foo();
}
接口中没有构造方法
1、所有方法默认都是:public abstract
2、接口不可以被实例化
3、实现类必须实现接口的所有方法
public interface InterfaceA {
public void printCapitalLetter();
}
public interface InterfaceB {
void printLowercaseLetter();
}
public class Print implements InterfaceA,InterfaceB{
public void printCapitalLetter(){
System.out.println("ABCDEFGHIJKLMNOKQRSTUVMXYZ");
}
public void printLowercaseLetter(){
System.out.println("abcdefghijklmnopqrstuvmxyz");
}
}
4、实现类可以实现多个接口,implements、多个接口使用逗号隔开
public class Print implements InterfaceA,InterfaceB(){
}
5、接口中的变量都是静态常量(public static final)
final int TYPE = 1;