Java 抽象类与抽象方法

Java 抽象类与抽象方法

基本概念

抽象类:指在普通类的结构里面增加抽象方法的组成部分
抽象方法:所有的普通方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰

使用

  1. 抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;
  2. 抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
  3. 抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
  4. 子类(如果不是抽象类)必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。);
  5. 抽象类中也有构造方法,且子类对象实例化的时候,依然满足先执行父类构造,再执行子类构造的顺序
abstract class A{//定义一个抽象类
	public abstract void print();//抽象方法,没有方法体,有abstract关键字做修饰
}
//单继承
class B extends A{//B类是抽象类的子类,是一个普通类
	@Override
	public void print() {//强制要求覆写
		System.out.println("Hello World !");
	}
}
public class TestDemo {
	public static void main(String[] args) {
		A a = new B();//向上转型
		a.print();//被子类所覆写的过的方法
	}
}

设计模式应用

在设计模式中,抽象类所起的功能就是一个类定义模板的功能。所有的子类如果要想正常的完成操作,必须按照指定的方法进行覆写才可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值