JAVA抽象类——abstract

1. 抽象方法

如果父类中一定含有某个方法,但如何实现并不能确定,这就应该是一个抽象方法。
如父类是图形,方法是计算图形的面积,因为每一种图形都有不同的面积计算公式,所以如何计算图形的面积不能确定,那么,这就是一个抽象方法。

2. 抽象方法和抽象类的定义

和C语言的虚类、虚函数作用相同。
抽象类:抽象方法所在的类,一定是抽象类。在class之前加abstract关键字
抽象方法:即加上abstract关键字,去掉大括号,不写内容,直接分号结束。(接口中也可以写抽象方法)
定义格式:

public abstract class 类名{
	成员变量1;
	成员变量2;
	...
	public abstract 返回值类型 方法名(参数列表);//抽象方法
	...
	public 返回值类型 方法名(参数列表){}//其他普通成员方法
}

3. 抽象方法和抽象类的使用

  1. 抽象类不能直接new对象,必须有子类继承抽象类。
  2. 子类必须覆盖重写父类所有的抽象方法(即去掉abstract关键字,加入方法体)。
  3. 然后创建子类对象使用

4. 注意事项

  1. 抽象类不能创建对象
  2. 抽象类可以有构造函数,但只是供子类构造方法调用进行父类成员变量初始化的。
  3. 抽象类不一定保护抽象方法。有抽象方法的一定是抽象类
  4. 抽象类的子类,必须覆盖重写抽象类的所有抽象方法。(快捷键:把光标放到子类类名报错的红线上,按 ALT+回车)
  5. 抽象类也可以多级继承。只要有一个抽象方法没有覆盖重写,就必须是抽象类,必须接着往下派生子类。只要所有的抽象方法都覆盖重写了,才不是抽象类,可以创建对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值