第13天 抽象类和抽象方法

本文详细介绍了抽象类的概念,包括抽象类的定义、关键字abstract的使用、抽象类与抽象方法的关系及其实现方式。通过一个具体的例子展示了如何在子类中重写抽象方法。

什么是抽象类呢?
抽象类指不能直接被实例化的类,必须由子类创建对象。抽象类一般作为其他类的超类,抽象类中的抽象方法只需声明,由继承类提供实现。
抽象类用哪个关键字来修饰呢?
抽象类用关键字abstract来修饰,同样,用abstrat关键字来修饰一个方法时,这个方法就叫做抽象方法。
例如:
abstract class AbstractClass{……}//抽象类
abstract class AbstractMethod{…..}//抽象方法
抽象类必须被继承,抽象方法必须被重写。
一个抽象类只关心它的子类是否具有某种方法,并不关心功能的具体行为,功能的具体行为是由子类负责实现的。如果一个类中定义了抽象方法,则该类必须被定义为抽象类。如果一个类是抽象类的子类,那么它必须实现父类的抽象方法。当然,抽象类中也可以没有抽象方法。
下面是一个抽象类应用的例子,就是定义一个抽象类shape,shape类里有两个抽象方法,分别是求周长和求面积用的。

package test;

abstract class shape//抽象类
{
    abstract int area();//抽象方法area
    abstract int circumference();//抽象方法circumference
}

class rectangle extends shape//rectangle类继承自抽象类shape
{
    private int length,width;
    rectangle(int l,int w)//构造函数
    {
        length=l;
        width=w;
    }
    int area() //对父类中抽象方法的实现
    {
        return length*width;
    }
    int circumference()//对父类中抽象方法的实现
    {
        return 2*(width+length);
    }
}

class Demo
{
    public static void main(String []args)
    {
        rectangle r=new rectangle(5,4);//声明一个对象并对其进行初始化
        System.out.println("面积为:"+r.area());
        System.out.println("周长为:"+r.circumference());
    }
}

上面的例子在子类中重写了继承自父类的抽象方法。
抽象类非常重要,需要深刻理解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值