抽象类
什么是抽象类
通过继承它实现多态,后期绑定,可以为将来要实现的东西做好接口,实现重用性
抽象类语法
public abstract class Fruit {
public void eat(){
System.out.println(" eat ");
}
public abstract void buy();
}
使用了abstract关键字所修饰的 类叫做抽象类。
如果一个类包含了抽象方法,那么这个类一定是抽象类。
如果某个类是抽象类,那么该类可以包含具体方法(有声明、有实现)
抽象类规则
抽象类无法实例化,也就是说,不能new出来一个抽象类的对象(实例)
在子类继承父类(父类是个抽象类)的情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则,该子类需要声明成一个abstract class。
如果一个类中包含了抽象方法,那么这个类一定要声明成abstract class,也就是说,该类一定是抽象类;反之,如果某个类是抽象类,那么该类既可以包含抽象方法,也可以包含具体方法
在子类继承父类(父类是个抽象类)的情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则,该子类需要声明成一个abstract class。
如果一个类中包含了抽象方法,那么这个类一定要声明成abstract class,也就是说,该类一定是抽象类;反之,如果某个类是抽象类,那么该类既可以包含抽象方法,也可以包含具体方法
抽象方法
使用abstract关键字所修饰的方法叫做抽象方法。抽象方法需要定义在抽象类中。相对于抽象方法,之前所定义的方法叫做具体方法(有声明,有实现)。
接口
什么是接口
可以讲接口看成特殊的抽象类,抽象类可以是抽象方法与具体方法,而接口只能抽象方法
接口语法
public interface IFruit {
public void eat();
abstract void buy();
}
interface
接口interface的地位等同于class,接口中的所有方法都是抽象法。在声明接口中的方法时,可以使用 abstract关键字,也可以不使用。通常情况下,都会省略掉 abstract
接口规则
接口必须是public,属性和方法都是public,属性是static,final
多态是通过继承来体现,而接口是通过实现来体现,实现者必须实现所有抽象方法除非它是抽象类
Java是单继承的,也就说某个类只能有唯一父;可以实现多个接口,用逗号隔开
关于接口与实现的类之间强制类型转换方式与父和子之间的强完全一样
多态是通过继承来体现,而接口是通过实现来体现,实现者必须实现所有抽象方法除非它是抽象类
Java是单继承的,也就说某个类只能有唯一父;可以实现多个接口,用逗号隔开
关于接口与实现的类之间强制类型转换方式与父和子之间的强完全一样