一、知识点(必做):
SuperDemo.java (重点)
需求:请用面向对象知识构建以下类信息。
类型 | 字段 | 行为 | ||
---|---|---|---|---|
狗狗 | 昵称 | 健康值 | 品种 | 输出信息 |
猫猫 | 昵称 | 健康值 | 性别 | 输出信息 |
作业目的:熟练使用this和super关键字
H:\idea-workspace\Day11\src\hw\text1
StaticDemo.java (重点)
需求:定义一个狗类Dog,在狗类中定义静态字段和静态方法(属于类的成员),定义非静态字段和非静态方法(属于对象的成员),并在StaticDemo方法中测试调用狗类中的方法和字符
作业目的:理解static关键字的含义和使用
H:\idea-workspace\Day11\src\hw\text2
FinalDemo.java
需求:演示final修饰符的特点
final修饰的类:表示最终的类, 该类不能再有子类
final修饰的方法:最终的方法, 该方法不能被子类覆盖
final修饰的变量:表示常量,该变量只能赋值一次,不能再重新赋值。
基本数据类型:表示的值不能改变
引用数据类型:所引用的地址值不能改变
作业目的:final修饰符的特点
H:\idea-workspace\Day11\src\hw\text3
CodeBlockDemo.java
需求:演示静态代码块、初始化代码块、局部代码块的写法
作业目的:掌握静态代码块的语法
H:\idea-workspace\Day11\src\hw\text4
//总结 初始化代码块(构造代码块):直接定义在类中,每次创建的对象的时候都会执行初始化代码块,开发中不适用初始化代码块,即便要做初始化代码工作,可以直接在构造器中完成。 静态代码块:使用static修饰的初始化代码块。当该代码块的类的字节被加载进JVM中,就会执行static代码块代码,在开发中,用来加载资源、加载配置文件等操作。 局部代码块:直接定义在方法内的代码块,一般的,不会直接使用局部代码块的,结合if,while,for等关键字使用,表示一块代码区域
匿名内部类(一定要讨论)
需求:演示匿名内部类用法
定义一个接口IUSB
在测试类中创建一个IUSB的匿名内部类对象
作业目的:掌握匿名内部类的语法和使用
H:\idea-workspace\Day11\src\hw\text5
// 一定要总结 匿名内部类,可以使用父类构造器和接口名来直接完成。
针对类,定义匿名内部类来继承父类(使用较少)
new 父类构造器(【实参列表】){
//匿名内部类的类体部分}
针对接口,定义匿名内部类来实现接口(使用较多)
new 接口名称(){
//匿名内部类的类体部分 }
注意:这里不是根据接口创建对象,而是一种语法
二、综合练习(必做):
练习一
需求:
商品类: Item
具有成员变量,:
编号(code) String类型 商品编号
名称(name) String 类型 商品名称
类别(type) String 类型 商品的具体类别
价格(price) double 类型 商品的价格
**总商品数量(totalNum) int 类型 商品的总商品数量**
1)提供两个构造器
没有参数的构造器
创建一个以编号(code),名称(name) 作为形式参数的构造器
2)编写一个main方法,添加一个商品,其商品信息如下
创建两个笔记本电脑的商品(computer),
商品1:
编号(code):666
名称: 戴尔(DELL) 游戏笔记本
类型: 游戏
价格: 5499.00
商品2:
编号(code):007
名称: 苹果(Macbook pro)笔记本
类型: 电脑,办公
价格: 18000.00
3)在main方法打印笔记本电脑(computer)的名称和价格
4)每创建一个商品对象总商品数量(totalNum)加一,请在main方法中打印totalNum值。
H:\idea-workspace\Day11\src\hw\text6
练习二
按以下要求编写一个程序:
1)请用javaBean规范设计一个学生类Student,具有:
属性:no(学号)、name(姓名)和score(成绩)
功能:输出一位学生的数据内容(toString)、**计算学生的平均分(getAvg)**
2)在main()方法中创建五个学生信息,并定义一个对象数组用于存储创建的五位学生的数据,
使用**Student类的getAvg方法**计算出这些学生的平均分;并打印所有学生的信息。
思路:
在Student类中定义getAvg()方法, 并接收Student[]数组类型的参数,计算传递进来的学生的平均成绩
H:\idea-workspace\Day11\src\hw\text7
练习三
定义一个网络用户类(User),包含用户id(id)、用户名(username)、用户密码(password)、email地址(emailAdrr)四个私有化成员变量和一个属于类的用户总人数(totalUser),
(1)请定义一个含有用户ID(ID)、用户密码(password)两个参数的构造器,完成三个实例成员变量的初始化,其中email地址(emailAdrr)是用户id加上字符串@gameschool.com
。
(2)请利用上述构造器,在main方法中实例化网络用户类对象,每创建一个对象,用户总人数(totalUser)加一,创建三个实例,最后打印用户总人数。