目录
练习3:继承扩展类型:Person,Student,Teacher
练习4:继承扩展练习:储蓄卡和信用卡,DepositCard、CreditCard类
【封装知识点】
1. 如何实现封装?
依赖于权限修饰符,或者又称为访问控制修饰符
2.权限修饰符有哪些?
public、protected、private、缺省
可见性范围:
本类 | 本包其他类 | 其他包的子类 | 其他包的非子类 | |
private | √ | |||
缺省 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
3. 注意事项
(1)如果权限修饰符实在class前面,只能是public或缺省
(2)如果权限修饰符是在类的成员前面(成员变量,成员方法等),四种都可以
4. 成员变量权限修饰符的选择
一般习惯声明为private(属性私有化),以此保证代码可控
但如果真的要扩大可见性范围,可按照权限修饰符是适当增加
5. 声明了private后,怎么外部使用
使用get方法,供调用者获取属性值(Alt+Insert选择)
使用set方法,供调用者修改属性值(Alt+Insert选择)
用快捷键快速生成时,如果方法中局部变量与实例变量重名,在实例变量前加this.
get/set方法名通常为get/set+属性名
若属性为boolean类型,为is+属性名
设置完get/set后,可以在该方法中设置条件,不符合条件直接跳过或报异常,如:
public void setAge(int age){
if(age < 0 || age > 200){
return;
}
this.age = age;
}
练习1:矩形类
(1)定义矩形类Rectangle
声明实例变量长和宽,全部私有化private
提供相应的get/set方法,如果set方法的参数值<=0,则提示矩形的长和宽必须是正数
声明public double area(),返回矩形面积
声明public double perimeter(),返回矩形周长
声明public String getInfo(),返回矩形的长、宽、面积、周长
(2)测试类的main中创建一个可以装3个矩形对象的数组,并调用set方法为对象的属性赋值,依次长为8,7,6,宽为2,3,4
遍历输出矩形对象数组
按照矩形对象的length属性值从大到小排序后,遍历输出矩形对象数组
按照矩形对象的面积从小到大排序后,遍历输出矩形对象数组
代码如下:
先按要求定义矩形类:
public cl