JAVA每日作业day6.19

ok了家人们今天继续学习面向对象,话不多说看看今天学了什么

一.面向对象-封装

1,private

private:私有的 权限修饰符 是一个成员修饰符,修饰成员变量 被private修饰的成员变量和成员方法只能在本类中使用

对外访问使用是 set XXX 和 get XXX

我们来看下关于private的例子

没添加private

添加private后

这里告诉我们private是私有的,只能在本类中使用。

那我们要怎么解决这个报错的问题呢,那就涉及到今天的主题了,

2,this

拿个例子

这里我们可以看到,我们设计了一个方法,方法里面定义了一个int类型的值,等于20

我们又在主方法里添加了一个age的值,等于18

我们输出打印他看下结果是怎样的

因为this.age 这个变量是Demo类里面的实例变量,而另一个变量是方法里面的变量,可以看到方法里面的变量是灰色的没有启用,所以Demo类里面的实例变量是先执行的,tihs是纠正变量名重合的使用。说到变量名重合我们可以拿出getter和setter方法

3,getter和setter方法

接上文 this 关键字是为了解决实例变量(private String name)和局部变量(setName(String name)中的name变量)之间发生的同名的冲突。

这个方法是外部类访问该类成员变量的入口。(不懂?我也不懂,以后会懂的)

4,无参方法和有参方法
①无参构造方法

我们没给setName和setAge赋值前,getAge和getName输出结果是什么我们看一下

我们现在分别给变量setAge和setName赋值,打印结果

这是无参方法的使用,我们看看有参方法。

②有参方法

这个方法就是在创建类的对象时,把值写进去,

然后输出getName和getAge的值

我们看到结果是一样的,两用方法都用在不同的场景里,看你如何去使用。

二,每日作业

1,某购房系统, 后台需要录入客户的信息, 为了更好的封装客户信息, 请设计出合理的类。随后在测试类中创建对象,调用对象的show方法显示这些数据。

根据题目我们得知,要创建的变量,我们直接先封装起来,再定义两个方法,无参和有参,

这题我们是用无参方法去写的,

1,创建类的对象,

2,定义变量的值,

3,打印输出

ok我们看下一题,

2,定义项目经理类Manager。属性:姓名name,工号id,工资salary,奖金bonus。行为:工作work()。定义程序员类Coder。属性:姓名name,工号id,工资salary。行为:工作work()

从题目可以得知,我们要定义两个类,一个项目经理类和程序员类并封装了起来,

我们还定义了两个方法,方便使用

这题我们用的是有参方法,

1,创建项目经理类的对象,并赋值,然后使用work()方法。

2,程序员类也是如此。

3,输出

3,现已知工人(Worker)类,属性包含姓名(name)、工龄(year),请编写该类,提供get、set方法。在测试类中,请查看键盘录入Scanner类的API,创建工人类对象,属性值由键盘录入,打印对象的属性值。输出效果如下:

从题目可以得知要创建工人(Worker)类,属性姓名(name)、工龄(year)这两个,要求封装

我们定义属性,封装,再定义一个方法,方便使用。

题目要求用键盘录入写,

1,键盘录入,创建工人(Worker)类对象,

2,创建一个String变量name接收键盘录入的String变量,调用变量再接收name的值

3,setYear变量也一样。

4,调用方法

5,输出

这些题目都没什么难度,估计老师要考验我们对他的用法。

ok了家人们明天见。

相关推荐
名字还没想好☜11 分钟前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
浪客川12 分钟前
使用 IDEA 生成API文档
java·ide·intellij-idea
郝学胜-神的一滴23 分钟前
Qt 高级编程 042:进度条从入门到自定义美化
开发语言·c++·qt·软件开发·用户界面
鸿芯微控科技32 分钟前
压电纳米定位分辨率怎么测?噪声、带宽、最小可检测位移与Python分析
开发语言·python·噪声分析·压电执行器·纳米定位·位移测量
上下求索,莫负韶华1 小时前
笔记-数据库事务和java事务和切面
java·数据库·笔记
@小匠1 小时前
Spring Boot Nacos绑定 Map 时中文 key 导致启动失败:一次从复现到源码的排查实录
java·开发语言·前端
Knight_AL1 小时前
Lombok @Builder 踩坑:build() 前后对象类型不一样
android·java·开发语言
神明不懂浪漫1 小时前
【第五章】队列
开发语言·数据结构·经验分享·笔记·算法
吃好睡好便好1 小时前
MATLAB仿真框图3
开发语言·matlab·仿真·simulink
SamChan901 小时前
PDF翻译中的并发控制:用Semaphore防止API限流与资源耗尽
java·jvm·pdf