抽象类和接口
抽象类:用abstract修饰的类为抽象类,抽象类中是可以有构造方法的,它所存在的目的就是供子类来访问的,但他不能创建对象,只能通过子类来创建对象,用abstract修饰的方法为抽象方法,是不能有方法体的,写法为修饰符 abstract 返回值 方法名(参数列表);
被abstract修饰的类中,不一定会有抽象方法;但是有抽象方法的类一定是抽象类
继承抽象类的子类,必须实现抽象方法,否则不能new对象,如果不实现该抽象方法,那么该类也必须是抽象类
接口: 接口用interface 来修饰,接口中没有构造方法和成员变量,只有静态常量和抽象方法,即便是你在类中的变量上没写static final修饰符,系统也会默认给你加上,其访问方式只能通过,接口名.常量名来访问;方法也是,即便你没写 abstract修饰符,系统也会给你加上,如果你实现了该接口,必须要重写里面的所有方法,否则,你的类就是抽象类
抽象类和接口的区别
抽象类中不一定有抽象方法,而接口中的所有方法都是抽象方法;抽象类中可有构造,变量,常量,而接口中只能是静态常量和抽象方法;一个子类只能继承一个父类,而接口中,子类可以实现多个接口;
|
|