封装
继承
多态
面向对象思想,有 3大特性,封装,继承,多态
个人认为,这 3大特性,是整个 面向对象思想的核心和精髓,深刻理解和掌握这 3大思想,是好好掌握 Java语言的关键。
定义
隐藏对象的属性 和 实现细节,仅对外提供 公共访问方式
属性,几乎都隐藏,保证安全
对外提供 公共(public)访问方式,方便具体对象个性化设置
优点
- 将变化隔离
- 便于使用
- 提高复用性,安全性
原则
- 将不需要对外提供的内容,都隐藏起来
- 把属性都隐藏,提供公共方法对其访问
private
封装设置私有:能保证,不会因为一个人的改动,而让整个类都随着改动
public
设置 公共方法,别的对象怎么设置,都是单个的,不影响这个类
// 封装
public class User{
// 将属性设置为私有,防止因为一个人的改变导致整个类的改变
private String name;
private int age;
// 将方法设置公有,给用户提供接口,让他们获得属性,并提供个性化设置
public String getName(){
return name;
}
public void setName( String name){
this.name = name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
// 可以在方法中,加入限定条件
public void setAge(int age){
if(age <=0){
age = 1;
}
this.age = age;
}
}
// 调用
Use(){
/*
通过调用 setter方法 给实例变量 赋值
调用 getter方法 获取实例变量的值
*/
User u1 = new User();
u1.setAge(23);
u1.setName("Tomy");
String name = u1.getName();
int age = u1.getAge();
}