java抽象类,接口,枚举练习题

第一题:

答案:

class Animal{
    //成员变量
    protected String  name;
    protected int weight;
    //构造方法
    public Animal(){
        this.name="refer";
        this.weight=50;
    }
    public Animal(String name,int weight){
        this.name=name;
        this.weight=weight;
    }
    //成员方法
    public void show(){
        System.out.println("名字:"+this.name+" 体重:"+this.weight);
    }
}
class Dog extends Animal{
    //成员变量
    private String color;
    //构造方法
    public Dog(String name,int weight){
        super(name,weight);  //实例化的时候要先初始化父类
        color="yellow";
    }
    //成员方法
    public void show(){  //重写,返回值类型,方法名,形参全部相同,且子类访问限制符要大于等于父类访问限制符
        System.out.println("名字:"+this.name+" 体重:"+this.weight+" 颜色:"+this.color);
    }
}
public class P7_1 {
    public static void main(String[] args) {
        Dog dog=new Dog("refer",50);
        dog.show();
    }
}

第二题:

答案:

interface IPay{
    double pay();  //符合阿里编码规范,就不再加public abstract,提高代码简洁性
}
class Winter implements IPay{
    int elc=145;  //默认是public static final
    double money=0.49;
    public double pay(){  //实现接口中的抽象方法,且不能使用默认修饰符,必须使用public
        return elc*money;
    }
}
class Summer implements IPay{
    int elc=125;
    double money=0.49;
    public double pay(){
        return elc*money;
    }
}
class PayMoney{
    public void season(IPay pay){
        if (pay instanceof Winter){  //如果是冬天
            Winter winter=new Winter();
            System.out.println("冬天:"+winter.pay());
        }
        else if (pay instanceof Summer){  //如果是夏天
            Summer summer=new Summer();
            System.out.println("夏天:"+summer.pay());
        }
        else {  //如果既不是冬天也不是夏天
            System.out.println("请传入正确的参数");
        }
    }
}
public class P7_1 {
    public static void main(String[] args) {
        PayMoney p=new PayMoney();
        p.season(new Winter());  //使用匿名对象
        p.season(new Summer());  //使用匿名对象
    }
}

 

第三题:

答案:

interface Animal{
    String address="广州动物园";
    default void eat(){   //接口里default和static修饰的方法可以进行实现
        System.out.println("每天吃得饱饱的!");
    }
    static void show(){
        System.out.println("我是动物!");
    }
    void ability();  //省略pubic abstract,提高代码简洁性
}
class Bird implements Animal{
    public Bird(){
        System.out.println("我是广州动物园的鸟。");
    }
    @Override    //添加注解,利用编译器的检查优势,提高开发效率
    public void eat(){   //重写方法必须用public修饰,不能使用默认的访问权限
        Animal.show();
        System.out.println("我爱吃虫子!每天吃得饱饱的!");
    }

    @Override
    public void ability() {
        System.out.println("我会飞!");
    }
}
class Fish implements Animal{
    public Fish(){
        System.out.println("我是广州动物园的鱼。");
    }
    @Override
    public void eat(){
        Animal.show();
        System.out.println("我爱吃小虾!每天吃得饱饱的!");
    }

    @Override
    public void ability() {
        System.out.println("我会游泳!");
    }
}
class Monkey implements Animal{
    public Monkey(){
        System.out.println("我是广州动物园的猴子。");
    }
    @Override
    public void eat(){
        Animal.show();
        System.out.println("我爱吃香蕉!每天都吃得饱饱的!");
    }

    @Override
    public void ability() {
        System.out.println("我会爬树!");
    }
}
public class Test {
    public static void main(String[] args) {
        Bird bird=new Bird();
        bird.eat();
        bird.ability();

        Fish fish=new Fish();
        fish.eat();
        fish.ability();

        Monkey monkey=new Monkey();
        monkey.eat();
        monkey.ability();
    }
}

第四题:

答案:

第五题:

答案:

enum ReviewPlan{
    //枚举成员必须放在类的一开始,使用enum来枚举就必须省略public static final,如果使用自定义枚举类则规则不一样
    Monday("星期一","数学"),
    Tuesday("星期二","数据结构"),
    Wednesday("星期三","Java"),
    Thursday("星期四","日语"),
    Friday("星期五","离散数学"),
    Saturday("星期六","Html+Css+JavaScript"),
    Sunday("星期天","电影艺术");
    
    private final String day;  //因为枚举针对的是有限个且确定的对象,不希望被修改,所以用private final
    private final String plan;

    private ReviewPlan(String day,String plan){  //私有化类的构造器
        this.day=day;
        this.plan=plan;
    }
    public String toString(){  //重写enum里自带的toString方法
        return this.day+this.plan;
    }
}
public class Test {
    public static void main(String[] args) {
        for (ReviewPlan r:ReviewPlan.values()){
            System.out.println(r.name()+"的属性是:"+r.toString());
        }
    }
}

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

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

相关文章

R可视化:可发表的Y轴截断图

Y轴截断图by ggprism Y轴截断图by ggprism 介绍 ggplot2绘制Y轴截断图by ggprism加载R包 knitr::opts_chunk$set(message = FALSE, warning = FALSE)library(tidyverse) library(ggprism) library(patchwork)rm(list = ls()) options(stringsAsFactors = F) options(future.…

回溯大法总结

前言 本篇博客将分两步来进行,首先谈谈我对回溯法的理解,然后通过若干道题来进行讲解,最后总结 对回溯法的理解 回溯法可以看做蛮力法的升级版,它在解决问题时的每一步都尝试所有可能的选项,最终找出所以可行的方案…

redis中String,Hash类型用法与场景使用

String 用法 1. 设置键值对 (1)设置键值对使用 set 命令设置 key 的值。 返回值:ok,如果 key 已经存在,set 命令会覆盖旧值。 (2)使用 setex 命令设置 key 的值并为其设置过期时间&#xff…

短剧APP开发,短剧行业发展下的财富密码

今年以来,短剧市场展现出了繁荣发展的态势,成为了一个风口赛道。 短剧具有不拖沓、时长短、剧情紧凑等优势,顺应了当代人的生活,是当代人的“电子榨菜”。 短剧的快速发展同时也带动了新业态新模式的发展,短剧APP就是…

鸿蒙OS开发:【一次开发,多端部署】(一多天气)项目

一多天气 介绍 本示例展示一个天气应用界面,包括首页、城市管理、添加城市、更新时间弹窗,体现一次开发,多端部署的能力。 1.本示例参考一次开发,多端部署的指导,主要使用响应式布局的栅格断点系统实现在不同尺寸窗…

“等保测评与安全运维的协同:保障企业网络安宁

"等保测评与安全运维的协同:保障企业网络安宁"是一个涉及信息安全领域的重要话题。这里,我们可以从几个方面来探讨这个主题。 1. 等保测评(等级保护测评) 等保测评,即信息安全等级保护测评,是依…

WordPress 发布了独立的 SQLite 插件

之前 WordPress 在官方的 Performance Lab 插件实现 SQLite 模块,现在重构 SQLite 的实现,并且将其发布成一个独立的插件:SQLite Database Integration。 独立 SQLite 插件 最初的功能模块实现是基于 aaemnnosttv 的 wp-sqlite-db 插件修改实…

SEO优化,小白程序员如何做SEO优化流量从0到1

原文链接:SEO优化,小白程序员如何做SEO优化流量从0到1 1、SEO是什么? SEO即:搜索引擎优化(Search Engine Optimization),是一种通过优化网站结构、内容和外部链接等因素,提高网站在搜索引擎中的自然排名&…

某神,云手机启动?

某神自从上线之后,热度不减,以其丰富的内容和独特的魅力吸引着众多玩家; 但是随着剧情无法跳过,长草期过长等原因,近年脱坑的玩家多之又多,之前米家推出了一款云某神的app,目标是为了减少用户手…

Unity 自定义Web GL 发布模板

前言 使用讯飞语音识别时,发布Web GL 平台后需要在index.html 中添加相应的script 标签,但每次发布完添加比较麻烦,添加一个发布模板就可以不必每次发布完再手动添加修改。 实现 在Assets 文件夹下新建一个文件夹,重命名为WebG…

SpringCloud系列(22)--Ribbon默认负载轮询算法原理及源码解析

前言:在上一篇文章中我们介绍了如何去切换Ribbon的负载均衡模式,而本章节内容则是介绍Ribbon默认负载轮询算法的原理。 1、负载轮询算法公式 rest接口第N次请求数 % 服务器集群总数 实际调用服务器下标(每次服务器重启后rest接口计数从1开始…

分享:大数据风险检测报告,哪里查询比较好?

随着大数据技术的发展,逐渐被运用到各个领域,基于大数据技术的个人风险检测也就是我们常说的大数据报告在金融环境中运用的十分普遍,那大数据风险检测报告哪里查询比较好呢?本文就为大家简单介绍一下。 大数据风险检测报告查询能查到什么? …

超大Sql文件切分工具SQLDumpSplitter —— 筑梦之路

官网:PLB PLB - SQLSplitter 用于将大型MySQL转储拆分为可独立执行的小型SQL文件。 显示100%时并不是已经处理完了,而是才开始 优点 软件程序小巧,不需要安装,直接点击运行就可以最厉害的是SQLDumpSplitter可以自动将结构语句&…

基于放射组学的深度学习用于左心房CT图像中房颤亚型的分类

文章目录 Radiomics-Informed Deep Learning for Classification of Atrial Fibrillation Sub-Types from Left-Atrium CT Volumes摘要方法实验结果 Radiomics-Informed Deep Learning for Classification of Atrial Fibrillation Sub-Types from Left-Atrium CT Volumes 摘要…

多微信如何高效管理?一台电脑就能搞定!

对于有多个微信号的人来说,管理这些微信无疑是一道难题。 今天,就给大家分享一个能够让你高效管理多个微信号的神器——个微管理系统,下面,就一起来看看它都有哪些功能吧! 1、多号同时登录在线 系统支持多个微信号同…

EI数据库如何出具中文论文检索报告?

Ei Compendex数据库是全球最全面的工程检索二次文献数据库,它收录了7,000,000多篇论文的参考文献和摘要。这些论文出自5,000多种工程类期刊、会议论文集和技术报告。Ei Compendex收录的文献涵盖了所有的工程领域,其中大约22%为会议文献,90%的…

在线人才测评在企业招聘和大学生求职中的应用场景

每年的春招秋招,都是毕业生们忙着找工作的季节,相比社招来说,春招秋招是每个毕业生务必重视的机会,大厂名企毕竟名额有限,如果找到自己心仪的职业岗位,作为毕业生就必须提前准备,深入了解招聘的…

YOLOv8独家改进:mamba系列 | 视觉态空间(VSS)块结合C2f二次创新,提升捕捉广泛的上下文信息 | VMamba2024年最新成果

💡💡💡创新点:Mamba UNet采用了纯基于视觉Mamba(VMamba)的编码器-解码器结构,融入了跳跃连接,以保存网络不同规模的空间信息。这种设计有助于全面的特征学习过程,捕捉医学图像中复杂的细节和更广泛的语义上下文。我们在VMamba块中引入了一种新的集成机制,以确保编…

百度集团:AI重构,走到哪了?

内有自家公关一号“自曝”狼性文化,主动制造舆论危机。 外有,OpenAI、谷歌、字节、华为等大模型劲敌扎堆迭代新产品, 强敌环伺。 今天我们要说的是早就从BAT掉队的——百度。 最近,在武汉Aapollo Day 2024上,百度发布了…

[数据结构] -- 单链表

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…