抽象是研究复杂对象的基本方法,从复杂对象中抽象出本质特征,忽略次要细节,使某些信息和实现对于使用者不可见。抽象层次越高,其软件利用程序越高。 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 |
|
来自: pythonjava学习 > 《待分类》