java入门学习(10)—抽象类

来源:互联网 发布:radio flyer淘宝 编辑:程序博客网 时间:2024/06/06 00:09

1、抽象类:用abstract修饰的类就是抽象类。

 【规则】a:语法-->【修饰符】abstract class 类名 {  属性,方法,构造器,初始化块,内部类,枚举类等    }。

b:抽象类不能被实例化,即无法通过new来调用抽象类的构造器创建实例,即使构造器不是抽象的也不能创建,其只能被当做父类被其他子类继承。

c、抽象类可以包括普通方法,但是定义得有抽象方法的类必须定义成抽象类。

d、可以有构造器,但是构造器不能用于创建实例(但是可以声明变量),主要是用于被子类调用。【默认情况下,子类一定会调用父类的方法一次,没有限制条件就调用没有参数的】

e、继承了一个抽象父类,子类一定要全部实现父类包含的抽象方法,(以及实现了一个接口,但是没有完全实现接口包含的抽象方法),如果不满足这些条件,那么子类也只能定义成抽象类。

2、抽象方法:使用abstract修饰的方法

【规则】a:修饰的方法一定没有方法体,而且参数括号后有分号,

如:【修饰符】abstract 【返回值类型】 方法名();.//语法说明

其中修饰符不能使final,和private,因为抽象方法是需要子类重写加上方法体后进行功能实现的,而final修饰的不能被重写,private修饰的只能在类里使用。

b、作用:应用于模板模式,如子类要实现一个方法,方法名都相同,如计算面积,但是各个实现的具体又不一样(圆和矩形就不一样),这时候就把面积定义成抽象方法,当我们需要使用的时候加上自己独立的方法体进行计算。

c、由b就可知,抽象方法一定要被重写才有意义。

0 0
原创粉丝点击