Java-abstract关键字及其实例

package c;
/*abstract关键字用于修饰方法和类,分别称为抽象方法和抽象类
 * 采用abstract关键字修饰的方法称为抽象方法,这种方法只有方法声明,而没有方法体及具体实现的步骤
 * 抽象方法只能在抽象类中定义,并且抽象方法中不能用static、final、private修饰符,抽象方法只有在子类中实现
 * 重写才能使用    
 * 抽象类中必须在其子类中将抽象方法全部实现才能用子类实例化对象,抽象类不能定义为final类,因为该类需要被继承。
 *如果某一抽象类的子类未完全实现父类的抽象方法,则该子类也必须声明为抽象类
 */
abstract class countArea{   //抽象类
    final double PI=3.1423;
    abstract double getArea();//抽象方法
}
class Circle extends countArea{ //继承于抽象类
    double r;
    Circle(double r)
    {
        this.r=r;
    }
    double getArea()//实现抽象方法  否则Circle声明
    {
        return PI*r*r;
    }
}
class Triangle extends countArea{ //继承于抽象类
    int bottom,height;
    Triangle(int buttom,int height)
    {
        this.bottom=buttom;
        this.height=height;
    }
    double getArea(){    //实现抽象方法,但具体实现功能方法与Circle中不同
        return 0.5*bottom*height;
    }
}
public class AbstractWord {
    public static void main(String args[]){
        Circle c=new Circle(5);
        Triangle t=new Triangle(5,10);
        System.out.println("圆的面积为: "+c.getArea());//调用类中已经实现的方法
        System.out.println("三角形的面积为: "+t.getArea());//调用对象所在类实现的方法
        
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值