百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Java抽象(abstract)类(java中抽象类的使用)

cac55 2024-09-20 12:41 20 浏览 0 评论

Java语言提供了两种类,分别为具体类和抽象类。前面学习接触的类都是具体类。这一节介绍一下抽象类。

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为抽象类。

在Java中抽象类的语法格式如下:

<abstract>class<class_name> {
    <abstract><type><method_name>(parameter-iist);
}123复制代码类型:[java]

其中,abstract表示该类或该方法是抽象的;class_name表示抽象类的名称;method_name表示抽象方法名称,parameter-list表示方法参数列表。

如果一个方法使用abstract来修饰,则说明该方法是抽象方法,抽象方法只有声明没有实现。需要注意的是abstract关键字只能用于普通方法,不能用于static方法或者构造方法中。

抽象方法的3个特征如下:

1、抽象方法没有方法体

2、抽象方法必须存在于抽象类中

3、子类重写父类时,必须重写父类所有的抽象方法

注意:在使用abstract关键字修饰抽象方法时不能使用private修饰,因为抽象方法必须被子类重写,而如果使用了private声明,则子类是无法重写的。

抽象类的定义和使用规则如下:

抽象类和抽象方法都要使用abstract关键字声明。

如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有0~n个抽象方法,以及0~n个具体方法。

抽象类不能实例化,也就是不能使用new关键字创建对象。

例1

不同几何图形的面积计算公式是不同的,但是它们具有的特性是相同的,都具有长和宽这两个属性,也都具有面积计算的方法。那么可以定义一个抽象类,在该抽象类中含有两个属性(width和height)和一个抽象方法area(),具体步骤如下。

1)首先创建一个表示图形的抽象类Shape,代码如下所示。

public abstract class Shape {
    public int width; // 几何图形的长
    public int height; // 几何图形的宽
    public Shape(int width, int height) {
        this.width = width;
        this.height = height;
    }
    public abstract double area(); // 定义抽象方法,计算面积
}123456789复制代码类型:[java]

2)定义一个正方形类,该类继承自形状类Shape,并重写了area()抽象方法。正方形类的代码如下:

public class Square extends Shape {
    public Square(int width, int height) {
        super(width, height);
    }
    // 重写父类中的抽象方法,实现计算正方形面积的功能
    @Override
    public double area() {
        return width * height;
    }
}12345678910复制代码类型:[java]

3)定义一个三角形类,该类与正方形类一样,需要继承形状类Shape,并重写父类中的抽象方法area()。三角形类的代码实现如下:

public class Triangle extends Shape {
    public Triangle(int width, int height) {
        super(width, height);
    }
    // 重写父类中的抽象方法,实现计算三角形面积的功能
    @Override
    public double area() {
        return 0.5 * width * height;
    }
}12345678910复制代码类型:[java]

4)最后创建一个测试类,分别创建正方形类和三角形类的对象,并调用各类中的area()方法,打印出不同形状的几何图形的面积。测试类的代码如下:

public class ShapeTest {
    public static void main(String[] args) {
        Square square = new Square(5, 4); // 创建正方形类对象
        System.out.println("正方形的面积为:" + square.area());
        Triangle triangle = new Triangle(2, 5); // 创建三角形类对象
        System.out.println("三角形的面积为:" + triangle.area());
    }
}12345678复制代码类型:[java]

在该程序中,创建了4个类,分别为图形类Shape、正方形类Square、三角形类Triangle和测试类ShapeTest。其中图形类Shape是一个抽象类,创建了两个属性,分别为图形的长度和宽度,并通过构造方法Shape()给这两个属性赋值。

在Shape类的最后定义了一个抽象方法area(),用来计算图形的面积。在这里,Shape类只是定义了计算图形面积的方法,而对于如何计算并没有任何限制。也可以这样理解,抽象类Shape仅定义了子类的一般形式。

正方形类Square继承抽象类Shape,并实现了抽象方法area()。三角形类Triangle的实现和正方形类相同,这里不再介绍。

在测试类ShapeTest的main()方法中,首先创建了正方形类和三角形类的实例化对象square和triangle,然后分别调用area()方法实现了面积的计算功能。

5)运行该程序,输出的结果如下:

正方形的面积为:20.0
三角形的面积为:5.0

开课吧广场-人才学习交流平台

相关推荐

电工电路图中二极管、三极管的符号标识

1、二极管二极管是一种常用的具有一个PN结的半导体器件,它具有单向导电性,通过二极管的电流只能沿一个方向流动。二极管只有在所加的正向电压达到一定值后才能导通。在电工电路图中,二极管以专用的图形符号和电...

开关部件在电工电路中的符号标识

1、在电工电路中还常常绘制有具有专门含义的图形符号,认识这些符号对于快速和准确理解电路图十分必要。在识读电工电路的过程中,还常常会遇到各种各样的功能部件的图形符号,用于标识其所代表的物理部件,例如各种...

走过路过 别错过!整理最全电工电路各种元器件及辅料字母符号解析

走过路过别错过!整理最全电工电路各种元器件及辅料字母符号解析建议收藏备用起来以备不时之需!每天学习一点点就会有收获!...

熬夜吐血整理的电工电路的字母符号!及各种元器件实物图解符号!

熬夜吐血整理的电工电路的字母符号!及各种元器件实物图解符号!...

电气人士接好了!史上最全的电气符号介绍

有没有人像小编一样看到这样的图纸就犯晕啊?像这样的图纸对于电气人士来说应该不陌生吧,可是对于一些刚入行的,或者在电气行业却不是技术岗位的人来说,那与天书没什么区别。今天小编狠狠心,为大家搜集了一些关于...

新手工程师,这些电路图符号你都了解吗?

以下电路图符号大全,千万别弄错了噢~~更多行业信息可查阅快点PCB平台订阅号:eqpcb_cp。...

电工学习通(一):电路图符号知识大全(安科瑞任心怡、许玉龙)

电路图符号知识我们常说的电路图呢是一种以物理电学标准符号来绘制各MOS管电子元器件组成和关系的电路原理布局图,听不懂也没关系,我们只要记住以下几点就可以了:电路图符号数量众多,大致可以分为四个类别:传...

常用电子元器件电路符号及实物外形图,你值得拥有

作为一名电工初学者,认识并了解常用的电子元器件是一项必备的基本技能,这包括电子元器件的电路符号、实物、用途等。本文电工学习网小编和大家分享一些电子元器件的电路符号及实物外形图,希望对大家的学习有所帮助...

电工常用的符号及单位

常用的符号及单位①欧姆定律I=U/R(适用于电阻电路,如白炽灯)②电能计算W=P·t(W为我们常说的电度,P为功率多少瓦或千瓦,t为时间小时计量)例如一个220V,60W的白炽灯,在220V电压工...

电路图常用的字母符号及释义(详细版!)

你是不是在查看电路图时常遇到一些看不懂的字母或字符,不明白它们表示什么含义?今天小编整理了一些电路图常用的字母符号及其释义,供大家查阅,赶快收藏吧!在之前的文章,小编大致整理了绘制电路图常涉及的电路符...

最全电工电路的字母符号大全!电工必备知识技能!建议收藏备用

最全电工电路的字母符号大全!电工必备知识技能!建议收藏备用!每天学习一点点就会有收获!学海无涯!...

电路符号大全,赶快收藏

认识电路符号是绘制电路图的前提。绘制电路图需要涉及的电路符号罗列出来有很多,大致可以分为五个类别:基本电路符号、传输路径符号、开关和继电器符号、集成电路组件以及限定符号。基本电路符号绘制基础电路图可能...

电气电路的图形符号,不怕看不懂电路图啦

一、电压、电流、电池的图形符号//二、信号灯、信号器件、按钮、旋钮开关和测量仪表的图形符号//三、负载开关的图形符号//四、熔断器的图形符号//五、继电器、接触器、接触器触点和操作器件的图形符号//六...

图解普通电阻器电路符号的含义,初学者必看

电子元器件的电路符号中含有许多有用的、对电路分析有益的识图信息,掌握了电子元器件电路符号的识图,电路分析就会简单一些。电阻器电路符号图1-1所示是普通电阻器电路符号图解示意图。在电路分析中,为了表述方...

电路图符号大全(电容、电阻、二极管、三极官、集成电路)

基础知识薄弱,不懂工作原理,不会看图、识图,这里更多电路图(原理图)符号大全、电路图形符号(指用一种书画图形代表一种电子元件)(比如:电容、电阻、二极管、三极官、集成电路等等)的符号为初学...

取消回复欢迎 发表评论: