ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

面向对象(下)5 - 关键字abstract

2022-06-11 16:01:34  阅读:138  来源: 互联网

标签:关键字 double abstract 面向对象 抽象 子类 抽象类 public


关键字abstract:抽象的
1.可以用来修饰:类、方法

2.具体的:
abstract修饰类:抽象类

此类不能实例化
抽象类中一定又构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)
开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作---> 抽象的使用前提:继承性

abstract修饰方法:抽象方法

抽象方法指方法的声明,没有方法体
包含抽象方法的类,一定是一个抽象类,反之:一个抽象类中可以没有抽象方法的
若子类重写了父类的所有的抽象方法,此类可以实例化
若子类没有重写父类的所有的抽象方法,则此子类也是一个抽象类,需要使用abstract修饰。

3.注意点:

  1. abstract 不能用来修饰属性、构造器等结构
  2. abstract 不能用来修饰私有方法、静态方法、final的方法、final的类

4.abstract的应用举例:
【举例一】

public abstract class Vehicle{//交通工具
  public abstract double calcFuelEfficiency();//计算燃料效率的抽象方法
  public abstract double calcTripDistance();//计算行驶距离的抽象方法

}

public class Truck extends Vehicle{
  public double calcFuelEfficiency(){
  //写出计算卡车的燃油效率的具体方法
  }
  public double calcTripDistance(){
  //写出计算卡车行驶距离的具体方法
  }
}

public class RiverBarge extends Vehicle{
  public double calcFuelEfficiency(){
    //写出计算驳船的燃料效率的具体方法
  }

  public double caleTripDistance(){
    //写出计算驳船行驶距离的具体方法
  }
}

【举例二】

abstract class GeometricObject{//几何图形类
  public abstric double findArea();
}
class Circle extends GeometricObject{
  private double radius;
  public double findArea(){
    return 3.14 * radius *radius;
  }
}

【举例三】
IO流中设计到的抽象类:
InputStream/OutputStream / Reader / Writer .在其内部定义了抽象的read()、write()方法。

标签:关键字,double,abstract,面向对象,抽象,子类,抽象类,public
来源: https://www.cnblogs.com/anjiaxiaopihai/p/16366104.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有