抽象类和抽象方法以及注意事项
抽象类
概述
父类当中的方法,被他们的子类重写,子类各自实现不同的功能,那么父类的方法声明和方法体,只有声明还有意义,方法体没有任何意义,所以可以省略方法体内容,然后把方法定义成abstract修饰的抽象方法,但是抽象方法必须存在于抽象类中,所以存在抽象方法的类也必须用abstract修饰.
抽象方法:没有方法体的方法
抽象类:包含抽象方法的类
abstract关键字的使用格式
抽象方法
使用abstract关键字修饰的成员方法,该方法就成了抽象方法,抽象方法没有方法体
注意事项:
1.抽象类可以有抽象方法,抽象方法只需申明,无需实现
2.含有抽象方法的类必须申明为抽象类
3.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类
4.抽象方法不能被声明为静态
5.抽象方法不能用private修饰
6.抽象方法不能用final修饰
定义格式:
-
修饰符 abstract void 方法名(参数列表);
示例代码:
-
public abstract void run(); public abstract void eat(); public abstract void jemp();
抽象类
如果一个类包含了抽象方法,那么该类就是一个抽象类
定义格式:
-
修饰符 abstract class ClassName{}
示例代码:
-
public abstract classAnimal{ //奔跑的抽象方法 public abstract void run(); }
抽象的使用
继承抽象类的子类必须重写父类的所有的抽象方法,否则,也必须定义成抽象类
注意事项
关于抽象类的使用,需要注意的事项:
1.抽象类不能创建对象,如果创建对象,编译无法通过.只能创建其非抽象子类的对象
2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3.抽象类中,不一定包含抽象方法,但是抽象方法的类必定是抽象类
4.抽象类的子类,必须重写父类的所有抽象方法,否则编译无法通过,除非该子类也是抽象类

浙公网安备 33010602011771号