抽象类和抽象方法

本文介绍了Java编程中抽象类和抽象方法的概念。抽象类通过abstract关键字定义,用于规定子类必须实现的接口,而抽象方法不包含具体实现。在示例中,Demo类被声明为抽象类,包含两个抽象方法:计算周长和返回图形类型。Triangle类继承Demo类并实现了这两个抽象方法,确保了三角形的周长和类型的计算。在调用时需要注意,必须实例化具体的子类来调用相应的方法。
摘要由CSDN通过智能技术生成

在编写一个类时,为该类定义一些方法,这些方法用于描述该类的行为方式,这些方法都有具体的方法体,但是在某些情况下,某个父类仅知道其子类应该包含那些方法,却无法准确的知道子类实现这些方法的细节。

可以将方法定义为抽象方法,抽象方法没有具体的方法实现,但是该方法必须由继承的子类重写,这样该方法就起到了约束规范的作用,又不影响最初的设计路线。

抽象类是专门设计用来让子类继承,抽象方法必须被子类重写。

在Java语言中,使用abstract关键字修饰一个类时,该类就是抽象类,使用abstract关键字修饰一个方法时该方法即为抽象方法。

但是在此提醒大家,在调用的时候要明确调用的是哪一个类,不然会报错。

以下是代码参考

//抽象方法与抽象类

public abstract class Demo {
    private String color;

//抽象类 关键字 abstract
    //定义计算周长的抽象方法
    public abstract double a();
    //定义一个返回图形的方法
    public abstract String b();
    
    public Demo(String color) {
        super();//super关键字是调用方法
        System.out.println();
        this.color = color;
    }
    public static void main(String[] args) {
        month s1 = new Triangle("红色",10,11,12);
        System.out.println("形状"+s1.b()+",周长:"+s1.a());
    }
    
}
class Triangle extends Demo{//三角形
    private double x,y,z;

    public Triangle(String color,double x,double y,double z) {
        super(color);
        this.side(x,y,z);
        
    }
    //写一个方法,判断是否是三角形
    private void side(double x, double y, double z) {
        if (x>y+z || y>x+z || z>x+y) {
            System.out.println("两边之和必须大于第三边");
            return;
        } 
        this.x=x;
        this.y=y;
        this.z=z;
    }
    
    @Override
    public double a() {
        return x+y+z;

//返回图形的周长
    }

    @Override
    public String b() {
        return "三角形";
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旺仔扣扣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值