java中的抽象

1.当一个类中给出的信息不够全面时,(比方说有无法确定的行为),它给出的信息不足以描绘出一个具体的对象,这时我们往往不会实例化该类,这种类就是抽象类

2. 在Java中,我们通过在类前添加关键字abstract(抽象的)来定义抽象类。如下图所示 : 

import Demo09.*;

//abstract抽象类:类    extends:单继承~(接口可以多继承)
public abstract class Application {
    //~ 约束~有人帮我们实现~
    //abstract: 抽象方法,只有方法名字,没有方法的实现
    public abstract void dosomething();
    //1.不能去new这个抽象类,只能靠子类去实现它:约束。
    //2.抽象类中可以写普通方法。
    //3.抽象方法必须在抽象类中。
    //抽象的抽象:约束~
    
}

抽象方法:

我们将“只有方法声明,没有方法体”的一类方法统称为抽象方法抽象方法用关键字abstract修饰。需要注意的是,如果一个方法已经确定是抽象类,那么它绝不能再有方法体,即不能出现大括号,而是只需要在()后面添加一个分号即可。如果某个类中已经出现了抽象方法,那这个类必须定义成抽象类,否则会报错。

也就是说,拥有抽象方法的类一定是抽象类;但是抽象类不一定有抽象方法。

代码案例:

package Demo09;

public abstract class Worker {
    public int age;
    private String GH;
    private String name;
    public int Money;
    public Worker(){}
    public Worker(int age,int Money,String GH,String name){
        this.age=age;
        this.GH=GH;
        this.name=name;
        this.Money=Money;
    }
    public void show(){
        System.out.println("工人"+name+"的工号是:"+GH+"工龄为"+age);
    }
    public abstract void SetPay();
}
package Demo09;

import demo07.Person;

public class jingLi extends Worker{
    private int LV;
    public int TrueMoney;
    public jingLi(){}

    public jingLi(int LV,int TrueMoney, int age, int Money, String GH, String name) {
        super(age, Money, GH, name);
        this.LV=LV;
        this.TrueMoney=TrueMoney;
        SetPay();
    }
    public void SetPay(){
        this.TrueMoney=Money+TrueMoney+(500*LV)+age*1000;
    }
    public void show(){
        System.out.println("等级是:"+LV+"\n实际工资是"+TrueMoney);
    }
}
package Demo09;

public class xiaoshou extends Worker{
    private double XS;
    private double TrueMoney;
    public xiaoshou(){}

    public xiaoshou(double XS,double TrueMoney,int age, int Money, String GH, String name) {
        super(age, Money, GH, name);
        this.XS=XS;
        this.TrueMoney=TrueMoney;
        SetPay();
    }
    public void SetPay(){
        if (XS>=10000){
            this.TrueMoney=Money+0.09*XS;
        }else {
            this.TrueMoney=Money+0.08*XS;
        }
    }
    public void show(){
        super.show();
        System.out.println("销售额是"+XS+"\n实际工资是"+TrueMoney);
    }
}
package Demo09;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        System.out.println("基础工资为1000");
        Scanner input = new Scanner(System.in);
        System.out.println("请输入这个经理的等级:");
        int LV= input.nextInt();
        System.out.println("请输入这个经理的工龄:");
        int age= input.nextInt();
        System.out.println("请输入这个经理的10位工号:");
        String GH= input.next();
        System.out.println("请输入这个经理的名字:");
        String name=input.next();
        jingLi jl=new jingLi(LV,100,age,0,GH,name);
        jl.show();
        System.out.println("请输入这个销售的销售额:");
        int XS=input.nextInt();
        System.out.println("请输入这个经理的工龄:");
        int age1= input.nextInt();
        System.out.println("请输入这个经理的10位工号:");
        String GH1= input.next();
        System.out.println("请输入这个经理的名字:");
        String name1=input.next();
        xiaoshou xs=new xiaoshou(XS,0,age1,1000,GH1,name1);
        xs.show();
    }
}

输出结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/171251.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis篇---第九篇

系列文章目录 文章目录 系列文章目录前言一、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?二、什么情况下可能会导致 Redis 阻塞?三、缓存和数据库谁先更新呢?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…

南京--ChatGPT/GPT4 科研实践应用

2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认为未来各行各业如果不能搭上这班车…

MySQL 数据库下载

1 最新版 MySQL :: Download MySQL Community Server 2 存档版本(Archived Versions)-历史版本 MySQL :: Download MySQL Community Server (Archived Versions) 3 下载(样例: zip 方式) tip1: 可以下载安装文件的方式,也可以使用压缩包方式&#xff…

Git详解

Git是一个开源的分布式版本控制系统,常用于软件开发中对代码版本管理。Git具有版本控制、协作开发、分支管理、代码审查等功能,能够记录每次代码修改的内容和时间,并能够回滚到任意历史版本,方便团队协作和代码维护。 Git的基本概…

腾讯云5年服务器2核4G和4核8G配置租用价格表

腾讯云百科整理五年云服务器优惠活动 txybk.com/go/txy 配置可选2核4G和4核8G,公网带宽可选1M、3M或5M,系统盘为50G高性能云硬盘,标准型S5实例CPU采用主频2.5GHz的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器,睿频3…

SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用

SQL NULL 值 什么是 NULL 值? NULL 值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为 NULL 值。需要注意的是,NULL 值与零值或包含空格的字段不同。具有 …

大数据Doris(二十五):Stream Load数据导入演示和其他导入案例

文章目录 数据导入演示和其他导入案例 一、数据导入演示

万字解析设计模式之 装饰者模式

一、装饰者模式 1.1概述 装饰者模式是一种结构型设计模式,它允许在运行时动态地为一个对象添加额外的职责。它以一种透明的方式来扩展对象的功能,而不需要通过子类来实现。在装饰者模式中,有一个基本对象,也称为组件,…

2023年亚太杯数学建模思路 - 案例:感知机原理剖析及实现

文章目录 1 感知机的直观理解2 感知机的数学角度3 代码实现 4 建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 感知机的直观理解 感知机应该属于机器学习算法中最简单的一种算法,其…

鸿蒙原生应用/元服务开发-AGC分发如何编译打包应用

软件包规范 在正式打包应用前,请确保已了解HarmonyOS应用软件包规范。 操作步骤 1.打开DevEco Studio,菜单选择“Build > Build Hap(s)/APP(s) > Build APP(s)”。 2.等待编译构建。编译完成后,将在工程目录“build > outputs >…

Vue2问题:分享一个通用多文件类型预览库

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约2000字,整篇阅读大约需要3分钟。 本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。 …

一文详看大模型长文本如何评估:四大主流评测数据集的任务设计、数据集构建方案

大语言模型(LLM)尽管在各种语言任务中表现抢眼,但通常仅限于处理上下文窗口大小范围内的文本。 有越来越多的基准被提出来测试LLM的长文本理解能力。 当前具有代表性的长文本评测主要包括Zero-SCROLLS、L-Eval、LongBench以及loogle四个基准…

Ansys Lumerical|菲涅尔透镜设计

附件下载 联系工作人员获取附件 在这个例子中,我们研究一个球面菲涅尔透镜。透镜的曲率半径为100cm,直径为4.8cm。由于该结构的尺寸较大,我们必须使用该结构的二维近似。透镜的焦点可以用FDTD远场投影函数来研究。 镜头设计和设置 我们将考…

希亦ACE和RUUFFY内衣洗衣机选哪个好?内衣洗衣机大对比

这两年,内衣洗衣机算是一种很受欢迎的小家电了,尽管它的体积很小,但是它的作用很大,一键就能启动洗、漂、脱三种自动操作,在提高多功能和性能的同时,也能让我们在洗衣服的时候,解放了我们的手。…

Spring Boot 与 Gzip 压缩

响应压缩是 Web 应用一种常见的优化手段,通过压缩算法减小传输数据的体积,提高传输效率、节约带宽。客户端接收到数据后,使用相同的算法对数据进行解压从而获取到原始数据。 客户端和服务器需要通过 Header 来协商双方支持的压缩算法。 Acc…

迎接“全全闪”时代 星辰天合发布星海架构和星飞产品

11 月 17 日,北京市星辰天合科技股份有限公司(简称:XSKY星辰天合)在北京首钢园举办了主题为“星星之火”的 XSKY 星海全闪架构暨星飞存储发布会,到场嘉宾共同见证了全新的分布式全闪架构“星海(XSEA&#x…

企业办公室信息安全保密办法——推荐用天锐绿盾数据安全防泄密系统 | 防止核心文件数据、资料泄露

天锐绿盾数据安全防泄密系统是一种有效的办公室信息安全保密办法。该系统采用驱动层透明加密技术,对电子文件进行自动加密,保护数据的安全性和隐私性。 PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c…

深搜回溯剪枝-全排列

LCR 083. 全排列 - 力扣(LeetCode) 根据题意,要根据给定的整数数组,穷举出所有可能的排列,从直观的角度上来看,可以使用多层 for 循环来解决,但如果是数组长度太大的时候,这种方式不…

利用Python进行中文分词——实现中文文本处理的基础工具

中文是一种复杂的语言,其词语之间没有明显的分隔符号,这给中文文本处理带来了一定的挑战。为了更好地处理中文文本数据,Python提供了许多优秀的中文分词工具和库。中文分词是将连续的中文文本切分成独立词语的过程,是中文文本处理…

『亚马逊云科技产品测评』活动征文|搭建图床chevereto

『亚马逊云科技产品测评』活动征文|搭建图床chevereto 提示:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 『…