一、封装的概念
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访 问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
二、封装的好处
1、只能通过规定的方法访问数据
2、隐藏类的实现细节
3、方便加入控制语句
4、方便修改实现
三、封装的步骤
1、修改属性的可见性(设为private--私有的)
2、创建公有的getter/setter方法(用于属性的读写)
3、在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)
class Dog { Dog
private String name = "旺财"; // 昵称
private int health = 100; // 健康值
private int love = 0; // 亲密度
private String strain = "拉布拉多犬"; // 品种
public int getHealth() {
return health;
- name:String
- health:int
- love:int
- strain:String
}
+ print():void
+ setHealth():void
+ getHealth():String
… …
public void setHealth (int health) {
if (health > 100 || health < 0) {
this.health = 40;
this代表 System.out.println("健康值应该在0和100之间,默认值是40");
else
this.health = health;
当前对象
}
// 其它getter/setter方法
}
面对对象的三大特征:
1、继承(inheritance) 2、封装/隐藏(encapsulation) 3、多态(poly)
最后使用访问修饰符,实现封装。
封装要点: •类的属性的处理: 1.一般使用private. (除非本属性确定会让子类继承) 2.提供相应的get/set方法来访问相关属性. 这些方法通常是public ,从而提供对属性的读取操作。 (注意:boolean变量的get方法是 用:is开头!) •一些只用于本类的辅助性方法可以用private, 希望其他类调用的方法用public。
总结:方法调用中的参数传递(重中之重) – 基本数据类型的参数传递:不能改变参数的值 – 引用数据类型的参数传递:不能改变参数的值
▪ this
– This代表当前对象自身的引用(必须new)
– This可以修饰属性,区别成员变量和局部变量
– This修饰方法 – This修饰构造方法(必须是第一条语句)
▪ static
– static变量:只有一份,属于类,可以类名.
- Static变量 – static方法: 类名. Static方法,不能出现this和super
– static代码块:只执行一次,最早执行的(类第一次调用)
▪ package import
– 包:作用
– 导入:import com.bjsxt.oop.*;
– 静态导入: import static java.lang.Math.PI