码迷,mamicode.com
首页 > 其他好文 > 详细

abstract

时间:2017-11-08 22:30:46      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:blog   this   覆盖   构造   多个   类型   继承   bst   指示   

抽象类是指只能被继承而不能生成具体对象的类。包含抽象方法的类叫做抽象类,一个抽象类中可以有一个或多个抽象方法,但也可以没有抽象方法

abstract class className
{
  //属性
//抽象方法
[访问控制修饰符]abstract 返回值类型 方法名(参数列表);  
}

所谓抽象方法,是指在类中仅仅定义“要处理数据”,但“不知如何处理数据”的方法,一个抽象方法仅仅是为所有子类定义一个统一的接口,具体代码通过派生类中对抽象方法的覆盖来实现。

//Shape.java
public abstract class Shape
{ public abstract double getArea();}

再定义其子类,再重写方法getArea();

 

//Rectangle.java
public class Rectangle extends Shape //从抽象类继承
{
private double length;
private double height;
public Rectangle(double length,double height)
{
this.length = length;
this.width = height; 
}
public double getArea()
{
return length*height;
}
}

定义方形类Square

//Square.java
public class Square extends Rectangle//从矩形继承
{
public Square(double length)
{
super(length,length);//超类构造方法
}
public double getArea()//重写方法getArea(),正方形的面积
{
double area = super.getArea();//超类的方法
return area;
}
}

 其中super关键字指示父类,派生类中调用了父类的构造方法Rectangle()和getArea()方法

如果把Rectangle类中的getArea()方法改成final,则在Square类中就不能被重载了

abstract

标签:blog   this   覆盖   构造   多个   类型   继承   bst   指示   

原文地址:http://www.cnblogs.com/gride-glory/p/7806289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!