zoukankan      html  css  js  c++  java
  • abstract

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

    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类中就不能被重载了

  • 相关阅读:
    单链表的基本操作(查找,插入,删除)
    线性表的基本操作(插入,删除,查找)
    双人五子棋对战(需要EasyX图像库)
    2016ACM竞赛训练暑期课期末考试 a题
    百练_1664 放苹果
    百练_4120 硬币(DP)
    PAT_1046 划拳
    PAT_1026 程序运行时间
    学Android开发 这19个开发工具助你顺风顺水
    JAVA利用axis2发布webservice
  • 原文地址:https://www.cnblogs.com/gride-glory/p/7806289.html
Copyright © 2011-2022 走看看