chapter10-homework-Java
第十章作业
- Homework01
- 知识点
- Homework02
- 知识点
- Homework03
- 知识点
- Homework04
- 知识点
- Homework05
- 知识点
- Homework06
- Homework07
- Homework08
Homework01
分析执行结果。
public static void main(String[] args) {Car_ c = new Car_();Car_ c1 = new Car_(100);System.out.println(c);System.out.println(c1);
}
class Car_ {double price = 10;static String color = "white";public String toString() {return price + "\t" + color;}public Car_() {this.price = 9;this.color = "red";}public Car_(double price) {this.price = price;}
}
我的答案:
9 white
100 white
正确答案为:
9.0 red
100.0 red
知识点
toString的改写
静态变量(类变量)
变量类型
打印对象代表输出对象的toString方法。
静态变量(类变量)的值是可以修改的。
同一个类的所有对象共享类变量&类方法。
属性price是double类,输出应为小数。
Homework02
知识点
(1)类变量&类方法不可以使用this。
类变量访问: ①类名.类变量名 [推荐] 或者 ②对象名.类变量名
类方法调用: ①类名.类方法名 或者 ②对象名.类方法名
(2)静态成员也有访问修饰符,如果用了private修饰,那么在main方法中就不能通过“类名.静态变量”访问了。
Homework03
编程题Homework03.java
按要求实现下列问题:
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方法
知识点
(1)抽象类相关
A.抽象类不一定要包含abstract方法,如果只有普通方法也是可以的。
B.一旦类包含了abstract方法,则这个类必须声明为abstract。
C.抽象方法不能使用 private、final 和 static 来修饰。【注意】默认、protected、public是可以的!但是子类要与父类一致
(2)多态
A.向上转型:父类的引用指向了子类的对象 Animal cat = new Cat();
B.向下转型:Cat kitty = (Cat) cat ;
Homework04
编程题Homework04.java 2min
1.计算器接口具有work方法,功能是运算,有一个手机类Cellphone,定义方法testWork测试计算功能,调用计算接口的work方法
2.要求调用CellPhone对象的 testWork方法,使用上匿名内部类
!!!不会写。。。/(ㄒoㄒ)/
public class Homework04 {public static void main(String[] args) {Cellphone cellphone = new Cellphone();cellphone.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}}, 10, 8);//18.0}
}interface ICalculate {public double work(double n1, double n2) ;
}class Cellphone {public void testWork(ICalculate iCalculate, double n1, double n2) {double result = iCalculate.work(n1, n2);//动态绑定System.out.println("计算后的结果是=" + result);}
}
/*
分析题目:“接口 work方法”
这里的work是程序员自定义的。
interface ICalculate {public double work(double n1, double n2) ;
}
------------------------------------------------------------------
“手机类Cellphone,定义方法testWork测试计算功能,调用计算接口的work方法”
class Cellphone {//Q:testWork为什么设置成这样?public void testWork(ICalculate iCalculate, double n1, double n2) {double result = iCalculate.work(n1, n2);//动态绑定System.out.println("计算后的结果是=" + result);}
}
------------------------------------------------------------------
“调用CellPhone对象的 testWork方法,使用上匿名内部类”
Cellphone cellphone = new Cellphone();
cellphone.testWork(new ICalculate() {@Overridepublic double work(double n1, double n2) {return n1 + n2;}
}, 10, 8);
------------------------------------------------------------------
匿名内部类:
【位置】外部类的方法/代码块里
【语法】new 类或者接口(参数列表) {类体}
【本质】匿名内部类是对象。
【底层】
分析上述代码:因为这里是基于接口的匿名内部类,所以底层是implements
① 类XXX(XXX表示匿名)先实现接口ICalculate
class XXX implements ICalculate {@Overridepublic void cry() work(double n1, double n2) {return n1 + n2;}
}
这里的XXX其实是,Homework04$1 (class Homework04$1 implements ICalculate)
② new XXX();
创建了Homework04$1类的一个对象
------------------------------------------------------------------
testWork方法中的参数是ICalculate iCalculate
public void testWork(ICalculate iCalculate, double n1, double n2)
接口ICalculate的引用iCalculate 接收(指向) main方法 传来的对象《new XXX()》
接口引用可以指向实现了接口的类的对象
------------------------------------------------------------------
iCalculate -> new XXX() -> XXX implements ICalculate
double result = iCalculate.work(n1, n2);
先去XXX类中寻找work方法,发现已经被重写,就调用。*/
知识点
(1)接口中所有的方法是public方法
(2)interface 中的方法有三种
① 抽象方法,可以不写abstract
② 默认实现方法,需要使用default关键字修饰
③ 静态方法
(3)匿名内部类:在外部类的方法/代码块内。在Homework04类的main方法内使用。
Homework05
内部类
1.编一个类A,在类中定义局部内部类B,B中有一个私有常量name,有一个方法show()打印常量name。进行测试
2.进阶:A中也定义一个私有的变量name,在show方法中打印测试
内部类
1.编一个类A,在类中定义局部内部类B,B中有一个私有常量name,有一个方法show()打印常量name。进行测试
2。进阶:A中也定义一个私有的变量name,在show方法中打印测试
知识点
1.常量怎么定义:final,大写
final private String name=“haha”;这样就是常量
2.内部类访问外部类
① 内部类可以直接访问外部类的成员,System.out.println(name);
② 如果外部类和内部类的属性重名 System.out.println(A.this.name);
Homework06
编程题Homework06.java
1、有一个交通工具接口类Vehicles,有work接口
2、有Horse类和Boat类分别实现Vehicles
3、创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat
4、有Person类,有name和Vehicles属性,在构造器中为两个属性赋值
5、实例化Person对象“唐僧”,要求一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具
分析
【交通工具工厂类】是创建工具的
创建 -> 返回两个工具的对象
获得交通工具Horse和Boat -> 不创建类 -> static
【一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具】
把这两个封装成方法,到Person类中
Homework07
有一个Car类,有属性temperature(温度),车内有Air(空调)类,有吹风的功能flow,
Air会监视车内的温度,如果温度超过40度则吹冷气。如果温度低于0度则吹暖气,如果在这之间则关掉空调。
实例化具有不同温度的Car对象,调用空调的flow方法,测试空调吹的风是否正确。
我用的是局部内部类
老师用的是成员内部类
Homework08
枚举类
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语句中匹配使用
相关文章:

chapter10-homework-Java
第十章作业 Homework01知识点 Homework02知识点 Homework03知识点 Homework04知识点 Homework05知识点 Homework06Homework07Homework08 Homework01 分析执行结果。 public static void main(String[] args) {Car_ c new Car_();Car_ c1 new Car_(100);System.out.println(…...
前端如何中断请求 ( axios、原生 ajax、fetch)
使用场景 在前端开发中,我们经常需要中断请求来优化性能或处理特定的业务需求。以下是一些常见的使用场景: 比如 重复请求:当页面中多个组件并发调用同一个接口时,在第一个请求返回后,我们可能需要中断其他组件对该接…...
CSS实现一些小功能
1.信封边框的实现 1.1 使用背景渐变 <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title><style type"text/css">.uu {width: 200px;height: 70px;padding:1em;border: 1em solid transparent;…...

Ubuntu安装nfs服务步骤
Ubuntu安装nfs服务步骤 一、NFS? NFS:网络文件系统(Network File system File)缩写,可通过网络让不同的机器,不同操作系统之间可以彼此共享文件和目录。 二、安装 1.安装nfs服务器命令:sudo…...
android开发:子线程更新UI界面
多线程操作经常希望在子线程更新界面,这样方便调试,但是,但是经常这样做程序就不对劲了,为什么呢?因为为了保证界面流畅,不允许在非UI线程直接操作界面,只能通过一些专门途径进行。另外…...

P9242 [蓝桥杯 2023 省 B] 接龙数列(dp+最长接龙序列+分类)
1. 计算0~9为结尾的最长子串长度 2. 对于每个数字,比较其开头可连接子串长度1 与 原来以其末位为末尾的子串长度 3. 更新以其末位为末尾的子串长度 #include<iostream> #include<string.h>using namespace std;// 相当于记录…...

网络运维与网络安全 学习笔记2023.11.29
网络运维与网络安全 学习笔记 第三十天 今日更新太晚啦!!! 主要是今天工作时挨了一天骂,服了,下次记得骂的轻一点!!! (要不是为了那点微薄的薪资,谁愿意听你…...

Java实现通过经纬度求两个任意地点在球面上的距离
我们在实际开发中会获取对应的经纬度,可以使用ES大数据搜索引擎进行计算对应区域的数据,那我们在如何根据两个经纬度获取对应的球面距离,就是在地球上从一个地点到另一个地点的直线距离 工具类如下: public class GeoUtils {// 地球半径&am…...
vscode使用插件KoroFileHeader添加注释
一、简介 KoroFileHeader 是一款用于在 VSCode 中用于生成文件头部注释和函数注释的插件,支持所有主流语言,功能强大,灵活方便,文档齐全。 VSCode 安装 KoroFileHeader 好插件,就可以直接使用。 "fileheader.cu…...
NSAttributedString设置折行方式NSLineBreakByTruncatingTail,计算高度出错,高度返回异常。
iOS13上,NSAttributedString设置折行方式NSLineBreakByTruncatingTail,计算高度出错,只返回一行的高度。 NSMutableParagraphStyle *style [[NSMutableParagraphStyle alloc]init]; style.hyphenationFactor 1; // 设置每行的最后单词是…...

YOLOv8改进 | 2023 | DWRSeg扩张式残差助力小目标检测 (附修改后的C2f+Bottleneck)
论文地址:官方论文地址 代码地址:该代码目前还未开源,我根据论文内容进行了复现内容在文章末尾。 一、本文介绍 本文内容给大家带来的DWRSeg中的DWR模块来改进YOLOv8中的C2f和Bottleneck模块,主要针对的是小目标检测,…...

ssm+vue的物资物流系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。
演示视频: ssmvue的物资物流系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体…...

纵行科技获评“汽车物流行业优秀技术装备供应商”
近日,由中国物流与采购联合会主办,中物联汽车物流分会承办的“2023年全国汽车物流行业年会”在湖北十堰盛大召开。本次年会集合了汽车整车、零部件、售后备件、进出口物流企业和物流装备技术企业、科研机构及院校等,分享汽车物流行业现状、相…...

Chrome和chromedriver版本不匹配导致的UI自动化测试无法运行的问题
今天,遇到一个小问题,本来跑的好好UI自动化测试脚本突然不好使了,期初怀疑是页面元素有调整导致脚本出现异常无法正常执行,经排查后发现近期页面没有任何调整。 这下头大了,啥也没改,怎么好好的脚本不能跑…...
[go 面试] 深入理解进程、线程和协程的概念及区别
关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! 在操作系统中,我们经常听到进程、线程和协程这些概念,它们都是用来描述执行单元的。接下来,我…...

人工智能即将彻底改变你使用计算机的方式
文章目录 每个人的私人助理“Clippy 是一个机器人,而不是特工。”卫生保健“一半需要心理健康护理的美国退伍军人没有得到治疗。”教育生产率娱乐和购物科技行业的冲击波技术挑战隐私和其他重大问题 今天我仍然像保罗艾伦和我创办微软时一样热爱软件。但是ÿ…...

工艺系统所管理数字化实践
摘要 本文介绍了上海核工程设计研究院在数字化转型方面的实践,包括业务数字化和管理数字化两个方面。业务数字化方面,该院通过开发小工具改进工作流程。管理数字化方面,该院采用零代码平台集中管理管道力学信息相关模型和数据,并…...

VsCode学习
一、在VsCode 上编写第一个C语言 在VsCode上写代码都是先打开文件夹,这样也方便管理代码和编译器产生的可执行程序,VsCode生成的配置文件等。 1.1打开文件夹 写代码前,首先创立一个文件夹存储以后我们写的VsCode代码,便于管理。…...

Javaweb之Vue组件库Element案例的详细解析
4.4 案例 4.4.1 案例需求 参考 资料/页面原型/tlias智能学习辅助系统/首页.html 文件,浏览器打开,点击页面中的左侧栏的员工管理,如下所示: 需求说明: 制作类似格式的页面 即上面是标题,左侧栏是导航&…...

Bert-VITS2本地部署遇到的错误
关于Bert-VITS2本地部署遇到的错误 1、在下载python中相关依赖时报错 building ‘hdbscan._hdbscan_tree’ extension error: Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools”: https://visualstudio.microsoft.com/visual-cpp-bu…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

倒装芯片凸点成型工艺
UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域ÿ…...