java学习--练习题

在类中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{@Overridevoid shout() {System.out.println("猫会喵喵叫");}
}
class Dog extends Animal{@Overridevoid 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() {@Overridepublic 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 {@Overridepublic void work() {System.out.println("没河流,我要骑马");}
}
class Boat implements Vehicles{@Overridepublic 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("冷风");elseSystem.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;}@Overridepublic void show() {System.out.println( "Color{" +"redValue=" + redValue +", greenValue=" + greenValue +", blueValue=" + blueValue +'}');}}
interface Io_{void show();}

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

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

相关文章

idm软件最新破解版下载 idm永久激活码 IDM中文绿色特别版 idm下载器汉化版

在互联网时代&#xff0c;下载管理软件成为了我们日常使用电脑不可或缺的工具之一。说起下载工具&#xff0c;大家的第一反应可能是网盘、迅雷。但在PC端其实还有一个可以对标他们的软件——IDM&#xff0c;这是一个口碑炸裂的多线程下载工具。 Internet Download Manager&…

让你的设计更出色:10个最受欢迎的3D画图工具盘点

随着渲染工具的发生和客户对立体效果的要求越来越高&#xff0c;设计师应该能够及时用设计风格解释空间界面&#xff0c;全面使用3D画图工具进行展览设计。3D画图工具在建筑、工程、产品设计等行业使用不同的算法&#xff0c;为图像添加色调、质感等细节。不同类型的3D画图工具…

鸿蒙HarmonyOS【应用开发五、组件介绍】

✍️作者简介&#xff1a;小北编程&#xff08;专注于HarmonyOS、Android、Java、Web、TCP/IP等技术方向&#xff09; &#x1f433;博客主页&#xff1a; 开源中国、稀土掘金、51cto博客、博客园、知乎、简书、慕课网、CSDN &#x1f514;如果文章对您有一定的帮助请&#x1f…

Java之 jvm

jvm之管理内存 程序计数器&#xff1a;当前线程所执行的字节码的行号指示器。程序计数器是唯一一个不会出现 OutOfMemoryError 的内存区域&#xff0c;它的生命周期随着线程的创建而创建&#xff0c;随着线程的结束而死亡。Java虚拟机栈 方法调用 一个方法调用都会有对应的栈帧…

Redis - SpringDataRedis - RedisTemplate

目录 概述 创建项目 引入依赖 配置文件 测试代码 测试结果 数据序列化器 自定义RedisTemplate的序列化方式 测试报错 添加依赖后测试 存入一个 String 类型的数据 测试存入一个对象 优化 -- 手动序列化 测试存入一个Hash 总结&#xff1a; 概述 SpringData 是 S…

《Milvus Cloud向量数据库指南》——BGE-M3:多功能、多语言、多粒度的文本表示学习模型

引言 在自然语言处理(NLP)领域,随着大数据时代的到来,对文本信息的精准处理与高效检索成为了研究热点。BERT(Bidirectional Encoder Representations from Transformers)作为近年来NLP领域的里程碑式模型,以其强大的上下文理解能力在多项任务中取得了显著成效。然而,面…

刘纪鹏:“3万亿资金将股市拉升至4000点”,你能赚?

本周刘纪鹏提出了一个观点&#xff1a;花费3万亿资金将股市拉升至4000点&#xff0c;有望带来25万亿的财富增长。 3万亿的投入与25万亿的潜在增长确实令人心动。股市并非简单的投入资金就能涨&#xff0c;还需要考虑市场情绪、经济基本面等因素的影响。举个例子&#xff0c;某个…

【leetcode 详解】找出区分值(C++思路详解):这【中等】题怎么十分钟就写完了?

评价&#xff1a;就笔者的感觉吧&#xff0c;leetcode上难度标为“中等”的题目往往不是说需要什么高深的算法来解决&#xff0c;但基本都涉及到 “问题转化” 的能力要求&#xff0c;换言之&#xff0c;难点往往在于思维。 tip&#xff1a;要解决这类问题&#xff0c;笔者推荐…

python3.10.4——Windows环境安装

python下载官网&#xff1a;https://www.python.org/downloads/ 如果安装在C盘&#xff0c;需要右键→选择“以管理员身份运行” 勾选2个按钮&#xff0c;选择自定义安装 全部选择&#xff0c;点击Next 更改安装路径 命令行检查python是否安装成功&#xff1a; 出现版本号说明…

如何使用C#自制一个Windows安装包

原文链接&#xff1a;https://www.cnblogs.com/zhaotianff/p/17387496.html 以前都在用InstallShield制作安装包&#xff0c;基本需求是能满足的&#xff0c;但也有一些缺点&#xff1a; 1、界面不能完全定制 2、不能直接调用代码里的功能 平常使用一些其它软件&#xff0c;…

数据结构(Java):Map集合Set集合哈希表

目录 1、介绍 1.1 Map和Set 1.2 模型 2、Map集合 2.1 Map集合说明 2.2 Map.Entry<K&#xff0c;V> 2.3 Map常用方法 2.4 Map注意事项及实现类 3、Set集合 3.1 Set集合说明 3.2 Set常用方法 3.3 Set注意事项及其实现类 4、TreeMap&TreeSet 4.1 集合类TreeM…

嵌入式中什么是三次握手

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c;点个关注在评论区回复“666”之后私信回复“666”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 在网络数据传输中&#xf…

pytorch3d的安装

在这个网址中&#xff0c;下载对应的pytorch3d安装包 https://anaconda.org/pytorch3d/pytorch3d/files下载完成后使用下面命令进行安装 conda install ./pytorch3d-0.7.7-py39_cu118_pyt201.tar.bz2

可见性::

目录 定义&#xff1a; 解决方法&#xff1a; ①使用synchronized实现缓存和内存的同步 修改一&#xff1a; 加入语句&#xff1a; 代码&#xff1a; 修改2&#xff1a; 在代码块中加入&#xff1a; 代码&#xff1a; 执行结果&#xff1a; 原因&#xff1a; ②使用…

Linux--Socket 编程 UDP(简单的回显服务器和客户端代码)

目录 0.上篇文章 1.V1 版本 - echo server 1.1认识接口 1.2实现 V1 版本 - echo server&#xff08;细节&#xff09; 1.3添加的日志系统&#xff08;代码&#xff09; 1.4 解析网络地址 1.5 禁止拷贝逻辑&#xff08;基类&#xff09; 1.6 服务端逻辑 &#xff08;代码&…

【C/C++】printf和cout的区别

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

解析资源库架构模式

无论应用程序的设计方法和实现技术如何发展&#xff0c;数据访问仍然是任何系统都需要考虑的基础技术问题。针对数据访问过程&#xff0c;我们可以理解为任何一个系统都应该存在这样一个起点&#xff0c;我们可以从这个起点遍历到具体的数据。换句话说&#xff0c;系统中应该存…

Python爬虫掌握-----4实战(爬取视频)

我们使用爬虫时难免会遇到爬取视频的情况&#xff0c;其实爬取图片视频&#xff0c;内容都是一样的。这里以b站视频为例。 一、开始 1.找到url&#xff0c;请求url 防盗链&#xff0c;需要写在UA伪装中 正常的三步&#xff1a; 1.url 2.requests请求 3.UA伪装 import req…

2024最新网络安全自学路线,内容涵盖3-5年技能提升

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面…

做一个能和你互动玩耍的智能机器人之二

智能机器人硬件的一些注意事项和知识和初学者的误区。 一。不要担心不会焊接&#xff0c;我也是购买后才发现&#xff0c;现在的很多板子和元器件可以无焊接使用&#xff0c;比如借助杜邦线和面包板&#xff0c;可以很方便连接。 二。arduino有很多种&#xff0c;一般用的是n…