了解抽象类

本文探讨了抽象类与抽象方法的基本概念,包括如何声明、作用及其实现方式。重点介绍了抽象类用于抽象概念的描述,抽象方法的子类覆盖规则,以及它们在继承体系中的多态体现。实例代码展示了如何在Java中创建和使用抽象类及其抽象方法。
摘要由CSDN通过智能技术生成
  1. 声明抽象类与抽象方法
    使用关键字abstract声明的类称为抽象类,使用abstract声明的成员方法称为抽象方法。
    包含抽象方法的类必须被声明为抽象类。构造方法、非抽象类的成员方法不能被声明为抽象方法。
  2. 抽象类不能被实例化
    即使抽象类中没有包含抽象方法,也不能创建抽象类的实例。
  3. 抽象类与抽象方法的作用
    **抽象类用于描述抽象的概念。**抽象方法用于声明方法的参数和返回值,抽象方法的具体实现由抽象类的子类完成,子类必须实现父类的所有抽象方法,否则该子类仍然为一个抽象类,不能生成该子类的对象。
    抽象类声明的抽象方法约定了多个子类共用的方法声明,每个子类可以根据自身的实际情况,给出抽象方法的具体实现,显然子类可以有不同的方法实现。因此,一个抽象方法在多个子类中表现出多态性。抽象类提供了方法声明与方法实现相分离的机制,使得多个不同的子类能够表现出不同的行为能力。
  4. 抽象方法必须被子类覆盖
    由于抽象方法在抽象类中没有具体的方法实现,所以抽象方法必须被子类实现。如果一个子类不能实现父类的抽象方法,则该类自己也必须声明为抽象类。
abstract class Abstract{
	abstract void abstractMethod();
	void concreteMethod(){
		System.out.println("具体方法");
	}
}

class Concrete extends Abstract {
	void abstractMethod(){
		System.out.println("abstractMethod被重写");
	}
}

class Test {
	public static void main(String[] args){
		Concrete concrete = new Concrete();
		concrete.abstractMethod();
		concrete.concreteMethod();
	}
}

定义一个类,如果这个类是抽象类,那么这个类中至少有一个抽象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值