java学习--练习题

news2024/9/22 21:34:48

在类中this.属赋值,则外部创建对象调用其值也会随之一样

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
*/
/*1. 在Frock类中声明私有的静态属性currentNum[int类型],初始值为100000,作为衣服出
厂的序列号起始值。
2. 声明公有的静态方法getNextNum;作为生成上衣唯一序列号的方法。每调用一次,将
currentNum增加100,并作为返回值。
3. 在TestFrock类的main方法中,分两次调用getNextNum方法,获取序列号并打印输出。
4. 在Frock类中声明serialNumber(序列号)属性,并提供对应的get方法;
5. 在Frock类的构造器中,通过调用getNextNum方法为Frock对象获取唯一序列号,赋给
serialNumber属性。
6. 在TestFrock类的main方法中,分别创建三个Frock对象,并打印三个对象的序列号,验
证是否为按100递增。*/
public class test01_ {
    public static void main(String[] args) {
        System.out.println(Frock.getNextNum());
        System.out.println(Frock.getNextNum());
        Frock frock = new Frock();
        Frock frock1 = new Frock();
        Frock frock2 = new Frock();
        System.out.println(frock.getSerialNumber()+" "+frock1.getSerialNumber()+" "+frock2.getSerialNumber()
        );

    }
}
class Frock{
    private int serialNumber;
    private static int currentNum=100000;

    public Frock() {
        this.serialNumber = getNextNum();
    }

    public  static  int getNextNum(){
        currentNum+=100;
        return currentNum;
    }

    public int getSerialNumber() {
        return serialNumber;
    }
}

结果:

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
*/
/*按要求实现下列问题:
1. 动物类Animal包含了抽象方法 shout();
2. Cat类继承了Animal,并实现方法shout,打印“猫会喵喵叫”
3. Dog类继承了Animal,并实现方法shout,打印“狗会汪汪叫”
4. 在测试类中实例化对象Animal cat=new Cat(),并调用cat的shout方法
5. 在测试类中实例化对象Animal dog=new Dog(),并调用dog的shout方法*/
public class test02 {
    public static void main(String[] args) {
        Animal cat=new Cat();
        cat.shout();
        Animal dog=new Dog();
        dog.shout();
    }

}
abstract class Animal{
    abstract void shout();

}
class Cat extends Animal{

    @Override
    void shout() {
        System.out.println("猫会喵喵叫");
    }
}
class Dog extends Animal{

    @Override
    void shout() {
        System.out.println("狗会汪汪叫");
    }
}

结果:

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
1. 计算器接口具有work方法,功能是运算,有一个手机类Cellphone,定义方法testWork
测试计算功能,调用计算接口的work方法,
2. 要求调用CellPhone对象 的testWork方法,使用上 匿名内部类
*/public class test03 {
    public static void main(String[] args) {
//        CallPhone callPhone = new CallPhone();
//        callPhone.testWork();
        CallPhone callPhone = new CallPhone();
        callPhone.testwork(new Io() {
            @Override
            public void work(int a, int b) {

            }
        }//Io io
        ,6,7);

    }
}
//class ui implements Io{
//
//    @Override
//    public void work(int a, int b) {
//        System.out.println(a+b);
//    }
//}
class CallPhone{
    //一种方法

//   public void testWork(){
//      Io io= new Io(){
//           @Override
//           public void work(int a, int b) {
//               System.out.println(a+b);
//           }
//       };
//      io.work(3,4);
//
//
//
//    }
    //第二种
    public void testwork(Io io,int a,int b)
    {
        System.out.println(a+b);
    }
}
interface Io{
    void work(int a,int b);

}

解析:

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
5.编程题 Homework05.java

内部类
1. 编一个类A,在类中定义局部内部类B,B中有一个私有常量name,有一个方法show()打
印常量name。进行测试
2. 进阶:A中也定义一个私有的变量name,在show方法中打印测试
*/public class test04 {
    public static void main(String[] args) {
        new A().test();
    }

}
class A{
    private String name="xiaom";
    public void test(){
        class B{
            private String name="xiaome";
            void show(){

                System.out.println(name+A.this.name);
            }
        }
        B b = new B();
        b.show();
        
    }
}

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
1. 有一个交通工具接口类Vehicles,有work接口
2. 有Horse类和Boat类分别实现Vehicles
3. 创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat
4. 有Person类,有name和Vehicles属性,在构造器中为两个属性赋值
5. 实例化Person对象“唐僧”,要求一般情况下用Horse作为交通工具,遇到大河时用Boat
作为交通工具
*/public class test05 {
    public static void main(String[] args) {
        Person Tang = new Person("唐僧", new Horse());
        Tang.PassRiver();
        Tang.Common();


    }

}
class Person{
     private String name;
     Vehicles vehicles;
    public Person(String name, Vehicles vehicles) {
        this.name = name;
        this.vehicles=vehicles;


    }
    //题中说,要人在有河流的时候选择船,平时用马,那么就要想到使用方法,可以在你需要的时候调用你想要的
    //然后获取你所需的东西
    //因为在一开始我们需要给人默认一个交通工具,所以我们调用方法时需要判断一下,当前是否已有该工具,如果有了就不再给他了
    public void PassRiver() {
        if (!(this.vehicles instanceof Boat) ){
            this.vehicles = Workshope.getTool();


        }
       this.vehicles.work();

    }
        public void Common () {
            if (!(this.vehicles instanceof Horse)) {
                this.vehicles = Workshope.getTools();
            }
                this.vehicles.work();

        }


}
class Workshope{
    private static Boat boat=new Boat();
    private static  Horse horse=new Horse();
    //私有化构造器一定不能忘记
    private Workshope(){}
    //没必要创建这个类的对象。我们知识需要使用它的方法,所以使用Static
    //但是,没必要换一次,就换一批新马一辆新船,所以我们可以采用饿汉式优化
   static public Horse getTools(){
        return horse;
    }
    static public Boat getTool()
    {
        return boat;
    }

}
class Horse  implements Vehicles {
    @Override
    public void work() {
        System.out.println("没河流,我要骑马");

    }
}
class Boat implements Vehicles{

    @Override
    public void work() {
        System.out.println("有河流,我要坐船");

    }
}
interface Vehicles{
    void work();
}

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
有一个Car类,有属性temperature(温度),车内有Air(空调)类,有吹风的功能flow,
Air会监视车内的温度,如果温度超过40度则吹冷气。如果温度低于0度则吹暖气,如果在这之
间则关掉空调。实例化具有不同温度的Car对象,调用空调的flow方法,测试空调吹的风是否
正确.
*/public class test06 {
    public static void main(String[] args) {
        Car car = new Car(19);
        car.test();
        Car car1 = new Car(90);
        car1.test();
        new Car(-1).test();
        Car car2 = new Car(80);
        //展示方式二
        car2.getAir().flow();
    }
}
class Car{
    double temperature;

   class Air{
       void flow(){
           if (temperature>40)
               System.out.println("热风");
           else if (temperature<0)
               System.out.println("冷风");
           else
               System.out.println("关闭");

       }


    }
    void test(){
        Air air = new Air();
        air.flow();
    }
    //展示方式二
    public Air getAir()
    {
        return new Air();
    }



    public Car(double temperature) {
        this.temperature = temperature;
    }
}

结果:

package com.test01;

/*
@author:我与java相爱相杀---c语言梦开始的地方
今天又是努力学习的一天!!!!
枚举类
1. 创建一个Color枚举类
2. 有RED,BLUE,BLACK,YELLOW,GREEN这个五个枚举值/对象;
3. Color有三个属性redValue,greenValue, blueValue,
4. 创建构造方法,参数包括这三个属性,
5. 每个枚举值都要给这三个属性赋值,三个属性对应的值分别是
6. red: 255,0,0 blue:0,0,255 black:0,0,0 yellow:255,255,0 green:0,255,0
7. 定义接口,里面有方法show,要求Color实现该接口
8. show方法中显示三属性的值
9. 将枚举对象在switch语句中匹配使用
*/public class test07 {
    public static void main(String[] args) {
        Color blue = Color.BLUE;
        blue.show();
        switch (blue)
        {
            case RED:
                System.out.println("匹配到红色");
                break;
            case BLUE:
                System.out.println("匹配到蓝色");
                //。。。。
        }

    }
}
enum Color implements Io_{
    RED(255,0,0),BLUE(0,0,255),
    BLACK(0,0,0),YELLOW(255,255,0),
    GREEN(0,255,0);
    private double redValue,greenValue, blueValue;

    Color(double redValue, double greenValue, double blueValue) {
        this.redValue = redValue;
        this.greenValue = greenValue;
        this.blueValue = blueValue;
    }



    @Override
    public void show() {
        System.out.println( "Color{" +
                "redValue=" + redValue +
                ", greenValue=" + greenValue +
                ", blueValue=" + blueValue +
                '}');


    }


}
interface Io_{
    void show();

}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谷粒商城-性能压测

1.压力测试 在项目上线前对其进行压力测试(以每个微服务为单元) 目的:找到系统能承载的最大负荷,找到其他测试方法更难发现的错误(两种类型:内存泄漏,并发与同步). 1.性能指标 响应时间(Response Time (RT)): 响应时间 指用户从客户端发起一个请求开始,到客户端接收到从服务…

学习笔记-系统框图传递函数公式推导

目录 *待了解 现代控制理论和自动控制理论区别 自动控制系统的组成 信号流图 1、系统框图 1.1、信号线、分支点、相加点 1.2、系统各环节间的连接 1.3、 相加点和分支点的等效移动&#xff08;比较点、引出点&#xff09; 2、反馈连接公式推导 2.1、前向通路传递函数…

SpringCloud注册中心(Nacos,Ribbon)

微服务是由多个模块共同组成的&#xff0c;注册中心可以帮助我们沟通这些模块&#xff0c;帮助我们完成模块间的 常见的注册中心 Zookeeper zookeeper它是⼀个分布式服务框架&#xff0c;是Apache Hadoop 的⼀个⼦项⽬&#xff0c;它主要是⽤来解决分布式应 ⽤中经常遇到的⼀…

项目的小结

1.实现实时聊天 1.服务端建立一个ConcurrentHashMap<> 用来存储在线用户&#xff0c;用户账号和socket然后&#xff0c;如果有个人发了信息&#xff0c;就去数据库中查询&#xff0c;然后根据这个在线用户进行传递信息 服务端框架&#xff1a; public class ServerMain {…

转置卷积 transposed convolution

1. 转置卷积 转置卷积&#xff08;Transposed Convolution&#xff09;也叫Fractionally-strided Convolution和Deconvolution&#xff0c;但用的最多的是Transposed Convolution。 注意&#xff1a; 转置卷积不是卷积的逆运算&#xff0c;只会大小恢复为原本大小。转置卷积…

网络安全领域五大注入攻击类型介绍

在网络安全领域&#xff0c;注入攻击是一种常见的攻击方式&#xff0c;攻击者通过向应用程序发送恶意数据来操控应用程序的行为。以下跟随博主通过具体样例一起来掌握以下五种知名的注入攻击类型。 1. SQL注入&#xff08;SQL Injection&#xff09; 1.1. 概述 SQL注入是最常见…

pdf自动生成书签

PDF 自动生成书签&#xff0c;使用软件【PDF补丁丁】 软件官网&#xff1a; https://www.cnblogs.com/pdfpatcher/Github&#xff1a;https://github.com/wmjordan/PDFPatcher参考视频内容&#xff1a;使用PDFPatcher自动生成PDF书签 直接从软件官网下载压缩包&#xff0c;运…

Qt遇到qt自身组件找不到

比如在使用qtcharts的时候&#xff0c;找不到 解决方法&#xff1a; 在cmakelist中添加 find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Charts REQUIRED) 是一个 CMake 命令&#xff0c;用于查找并配置 Qt 库中的特定组件。这条命令的作用是找到 Qt 的主要版本&#xff08;…

高性能 Java 本地缓存 Caffeine 框架介绍及在 SpringBoot 中的使用

在现代应用程序中&#xff0c;缓存是一种重要的性能优化技术&#xff0c;它可以显著减少数据访问延迟&#xff0c;降低服务器负载&#xff0c;提高系统的响应速度。特别是在高并发的场景下&#xff0c;合理地使用缓存能够有效提升系统的稳定性和效率。 Caffeine 是一个高性能的…

Java基础巩固——JDK 8、9新增接口的特性(接口中定义非抽象方法、静态方法和私有方法)

#Java学了这么久&#xff0c;项目也做了&#xff1f;基础知识还不巩固&#xff1f;快来关注我的这篇系列博客——Java基础复习巩固吧# 目录 引言 一、JDK8新特性&#xff1a;允许在接口中定义非抽象方法和静态方法。 注意事项 二、JDK9新特性&#xff1a;允许在接口中定义p…

【推研小灶】复旦与南大之间:一次独特的计算机保研之旅

写在前面 上午10点填完志愿等待复试通知&#xff0c;利用这段时间记录一下我简短的夏令营和预推免。今年变为线下之后&#xff0c;部分学校的入营情况、考核方式有明显变化。加上CS方向保研名额总体变多&#xff0c;形势有点小乱&#xff0c;甚至填报系统都在9.29中秋节当天&a…

AMQP-核心概念-3

本文参考以下链接摘录翻译&#xff1a; https://www.rabbitmq.com/tutorials/amqp-concepts 队列&#xff08;Queues&#xff09; AMQP 0-9-1模型中的队列和其他消息任务队列系统中的队列非常相似&#xff1a;它们用于存储被应用消费的消息。队列和交换机有一些相同的属性&…

2024.7.28周报

目录 摘要 ABSTRACT 一、文献阅读 一、题目 二、摘要 三、创新点 四、文献解读 一、Introduction 二、Saint-Venant方程 三、应用于水道建模的PINN 四、真实场景 五、结论 摘要 本周阅读了一篇题目为Physics-Informed Neural Networks for Modeling Water Flows …

免费【2024】springboot 毕业生学历证明系统

博主介绍&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

vite5+vue3开发阅读APP实战笔记20240725

目前界面长成这样&#xff1a; 配置别名 修改vite.config.js import {defineConfig} from vite import vue from vitejs/plugin-vue import path from "path"// https://vitejs.dev/config/ export default defineConfig({server: {open: true,port: 8088,},plug…

Can we Deploy Web Application in Azure OpenAI of Production Level

题意&#xff1a;我们可以在Azure OpenAI中部署生产级别的Web应用程序吗 问题背景&#xff1a; I have created azure ai search service and used Text split skillset and made index. I also deployed a web Application but have a question that If I want to create to …

嵌入式Linux学习: 设备树实验

设备树&#xff08;DeviceTree&#xff09;是一种硬件描述机制&#xff0c;用于在嵌入式系统和操作系统中描述硬件设备的特性、连接关系和配置信息。它提供了一种与平台无关的方式来描述硬件&#xff0c;使得内核与硬件之间的耦合度降低&#xff0c;提高了系统的可移植性和可维…

实战解读:Llama Guard 3 Prompt Guard

前序研究&#xff1a;实战解读&#xff1a;Llama 3 安全性对抗分析 近日&#xff0c;腾讯朱雀实验室又针对 Llama 3.1 安全性做了进一步解读。 2024年7月23日晚&#xff0c;随着Llama3.1的发布&#xff0c;Meta正式提出了“Llama系统”的概念&#xff0c;通过系统级的安全组件对…

黄景仁,笔墨间的一抹清寒

黄景仁&#xff0c;字汉镛&#xff0c;一字仲则&#xff0c;号鹿菲子&#xff0c;生于乾隆十四年&#xff08;公元1749年&#xff09;&#xff0c;卒于乾隆四十八年&#xff08;公元1783年&#xff09;&#xff0c;享年仅35岁。他是宋代大诗人黄庭坚的后裔&#xff0c;出生于常…

Feign-微服务通信(Feign远程调⽤ Feign简介 基本使⽤ ⾃定义配置 Feign使⽤优化)

目录 一、Feign远程调⽤ 二、Feign简介 三、基本使⽤ 1. 加⼊Fegin的依赖 2. 在主类上添加Fegin的注解 3. 创建⼀个service&#xff0c; 并使⽤Fegin实现微服务调⽤ 4. 修改controller代码&#xff0c;并启动验证 5. 重启order微服务,查看效果 四、⾃定义配置…