分享

Java学习——38、类的抽象性

 pythonjava学习 2021-04-06

抽象是研究复杂对象的基本方法,从复杂对象中抽象出本质特征,忽略次要细节,使某些信息和实现对于使用者不可见。抽象层次越高,其软件利用程序越高。

1、抽象类

使用关键字abstract声明的类为抽象类。

抽象类用于描述抽象概念。

一般用于其他类的父类。

比如:图形类。此为一个抽象类,每种图形都有位置、尺寸等属性,画不出一个没有任何形状、没有任何大小的图形。

public abstract class Figure {

        public abstract void cut();//抽象方法

}

2、抽象方法

用关键字abstract声明的方法为抽象方法。

抽象方法只有方法声明,没有方法体,以;结束。

如上代码定义了抽象方法publicabstractvoid cut();

抽象方法提供方法声明与方法实现相分离。在抽象类中定义抽象方法,在实例类中进行实现。

3、注意

1构造方法、静态方法不能被声明为抽象方法。

(2)抽象方法必须声明在抽象类中。

(3)抽象类中可以不含有抽象方法。

(4)如果一个类继承抽象类,必须实现抽象类中的所有抽象方法。否则,该类必须声明为抽象类。

(5)抽象类要放在一个单独的文件中

4、简单例题

package learn;

public abstract class Figure {

    public abstract double area();//面积

    public abstract double zhouchang();//周长

}

//Circle

package learn;

public class Circle extends Figure{

    private double radius;

    public  Circle() {

        radius=1.0;

    }

    public  Circle(double radius) {

        this.radius=radius;

    }

    public double getRadius() {

        return radius;

    }

    public  double area() {

        return Math.PI*radius*radius;

    }

    public double zhouchang() {

        return 2*Math.PI*radius;

    }

    public static void main(String args[]) {

        Circle c=new Circle();

        System.out.println("半径为"+c.getRadius()+"的圆\n面积为:"+c.area()+"\n周长为:"+c.zhouchang());

        Circle c1=new Circle(3.3);

        System.out.println("半径为"+c1.getRadius()+"的圆\n面积为:"+c1.area()+"\n周长为:"+c1.zhouchang());

    }

}

其运行结果为:

半径为1.0的圆

面积为:3.141592653589793

周长为:6.283185307179586

半径为3.3的圆

面积为:34.21194399759285

周长为:20.734511513692635

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多