java中abstract修改类的实例方法
小妮浅浅 人气:2abstract是一种修饰类,经过修改的类会变成抽象类。除了类之外还可以修改方法,考虑到类的模块是小伙伴们常接触的,今天来小编带大家一起找寻使用abstract修改类的方法。这里需要我们先从abstract丁酉、特点、方法、注释进行学习,然后在实例中体会修改类的用法。
1.abstract定义
abstract关键字可以修改类或方法。
abstract 类可以扩展(增加子类),但不能直接实例化。
abstract 方法不在声明它的类中实现,但必须在某个子类中重写。
2.特点
可以声明引用不能创建对象
3.方法
abstract void eat( );
4.注释
采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。
abstract 类不能实例化。
仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abstract 类的子类。这种类称为具体类,以区别于 abstract 类 。
如果 abstract 类的子类没有实现其超类的所有 abstract 方法,该子类也是 abstract 类。
abstract 关键字不能应用于 static、private 或 final 方法,因为这些方法不能被重写,因此,不能在子类中实现。
final 类的方法都不能是 abstract,因为 final 类不能有子类。
5.实例
public abstract class Animal {、 public abstract void cry(); public void run(){ System.out.println(“跑的方法……”); } }
知识点扩展:
abstract修饰的类叫做抽象类
格式:abstract class 类名{}
注意:
1、如果类中含有抽象方法,则要求该类必须也是抽象类;
但是抽象类可以不包含抽象方法
2、抽象类的子类:
1)、抽象类:如果不想重写抽象父类的方法可以将该类也声明为抽象类
2)、具体类:要求必须重写抽象类中的所有的抽象方法
3)、如果类被声明抽象类,不允许通过new来实例化
4)、抽象类可以包含哪些内容?
成员属性:变量可以 常量可以
成员方法:抽象方法可以 非抽象方法可以
构造方法:可以 也支持构造方法重载
提供给子类使用
5)、抽象类中为什么既提供了抽象方法也提供非抽象方法?
抽象方法:强制要求具体子类必须重写抽象方法
非抽象方法:子类可以直接使用父类的非抽象方法--提高代码的复用性
6)、抽象类是否可以体现多态?
抽象方法可以重载;抽象方法的意义子类重写该方法;
向上造型:子类对象赋值给抽象类的引用
编译看左边 运行看右边
7)、如果抽象类一个抽象方法都没有,该抽象类有什么意义?
不允许创建类的对象,只能通过子类继承该类
8)、private+abstract能否一起使用?--不可以
9)、final+abstract能否一起使用?---不可以 冲突
10)、static+abstract能否一起使用?--不可以
冲突 没有意义
加载全部内容