抽象类:存在构造方法,只是被私有化了,抽象方法只能存在于抽象类中,子类必须覆写父类的抽象方法。一般作为父类,模板方法模式。在class前加abstract即可。
抽象方法:就是加上abstract关键字,然后去掉大括号,分号结束。
语法结构:
abstract class A{
abstract void test();//抽象方法
public void test2(){}//普通方法
}
抽象类,不能直接创建对象,必须用一个子类来继承抽象父类,子类必须覆写父类的抽象方法,然后创建子类对象进行使用。
接口:软件与软件之间数据交互的接口,java中的接口,是一个和类相似的结构。
接口会独立生成一个字节码文件,没有构造方法。接口中可以有:字段,方法,没有修饰符修饰的方法都是抽象方法,不能有方法主体。接口不能用继承,用implements实现。
接口当中,允许用static静态方法,public static 返回值 方法名称(参数列表){方法体}
不能通过接口实现类的对象调用接口当中的静态方法,通过接口名称,直接调用静态方法。默认方法,public default void 方法名(){}
接口当中也可以定义成员变量,必须用public static final 修饰
格式:public static final 数据类型 常量名称 =数据值。
一旦使用final关键字修饰,不可改变。可以省略public static final 。接口当中的常量必须进行赋值,接口中的名称全部大写,下划线连接。
接口的格式:
interface Test{
void t1();
}
用implements实现接口。
class A impements Test{
public void t1(){}//覆写父类中的方法。
}