Java语言程序设计-第08章.ppt
《Java语言程序设计-第08章.ppt》由会员分享,可在线阅读,更多相关《Java语言程序设计-第08章.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章接口和包接口和包一、抽象类和方法一、抽象类和方法 用用abstract 修饰的类被称为修饰的类被称为抽象类抽象类。所谓。所谓抽象类抽象类就是没有具体就是没有具体实例对象实例对象的类。抽象类通常包括一个或的类。抽象类通常包括一个或多个抽象方法(只有方法说明,没有方法体),抽象多个抽象方法(只有方法说明,没有方法体),抽象类的子类必须完成父类定义的每一个抽象方法,除非类的子类必须完成父类定义的每一个抽象方法,除非该子类也是抽象类。它的主要用途是用来描述该子类也是抽象类。它的主要用途是用来描述概念性概念性的内容,这样可以提高开发效率,更好地统一用户的内容,这样可以提高开发效率,更好地统一
2、用户“接口接口”。定义抽象类abstract class 类名称 成员变量;方法();/定义一般方法 abstract 方法();/定义抽象方法 说明:抽象类中可以包含有一般方法,也可以包含有抽象方法;对于抽象方法不用完成其代码实现,而在派生的子类中实现所有抽象方法。Java实例实例抽象类抽象类public abstract class Shape public double area()return 0.0;public double volume()return 0.0;public abstract String getName();public class Point extends
3、Shape /通过通过Shape类继承类继承 protected int x,y;/coordinates of the Point public Point(int a,int b)setPoint(a,b);/带参数的构造器带参数的构造器 public void setPoint(int a,int b)x=a;y=b;public int getX()return x;public int getY()return y;public String toString()return+x+,+y+;public String getName()return Point;/实现抽象方法实现抽象
4、方法Java实例实例(续)(续)public class Circle extends Point /通过通过Point类继承类继承 protected double radius;public Circle(double r,int a,int b)/带参数的构造器带参数的构造器 super(a,b);/调用超类构造器调用超类构造器 setRadius(r);public void setRadius(double r)radius=(r=0?r:0);public double getRadius()return radius;public double area()return Math
5、.PI*radius*radius;public String toString()return Center=+super.toString()+Radius=+radius;/引用父类的引用父类的toString()方法方法 public String getName()return Circle;Java实例实例(续)(续)public class Cylinder extends Circle public class Cylinder extends Circle protected double height;protected double height;/height of C
6、ylinder /height of Cylinder public Cylinder(double h,double public Cylinder(double h,double r,intr,int a,inta,int b)b)super(r,a,b);super(r,a,b);setHeight(hsetHeight(h););public void public void setHeight(doublesetHeight(double h)h)height=(h=0?h:0);height=(h=0?h:0);public double public double getHeig
7、htgetHeight()return height;()return height;public double area()public double area()return 2*super.area()+2*Math.PI*radius*height;return 2*super.area()+2*Math.PI*radius*height;public double volume()return super.area()*height;public double volume()return super.area()*height;public String public String
8、 toStringtoString()()return return super.toString()+Heightsuper.toString()+Height=+height;=+height;public String public String getNamegetName()return Cylinder;()return Cylinder;Java实例实例(续)(续)import javax.swing.JOptionPane;public class Show public static void main(String args)Point point=new Point(7,
9、11);Circle circle=new Circle(3.5,22,8);Cylinder cylinder=new Cylinder(10,3.3,10,10);Shape arrayOfShapes=new Shape3;arrayOfShapes0=point;arrayOfShapes1=circle;arrayOfShapes2=cylinder;String output=point.getName()+:+point.toString()+n+circle.getName()+:+circle.toString()+n+cylinder.getName()+:+cylinde
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 08
限制150内