this关键字:
1 this. 表示当前对象
编译器会在被嵌套的方法前或者被访问的实例变量前默认添加this.
注意:如果有同名的局部变量,将不再默认添加,此时可以手动添加this.指明要访问实例变量
常用于有参构造方法中区分于同名的形参。
2 this(...) 用在构造方法中
用于调用本类的其它构造方法
注意:this(...)只能出现在构造方法中,并且必须是第1个语句。
变量分类:
按照位置
1 局部变量
2 实例变量
按照数据类型
1 简单变量
保存值 变量和变量间赋值传递的是数据值,赋值之后二者没有任何联系
2 引用
保存地址值 引用间赋值传递对象的地址,两个引用赋值之后指向同1对象
通过其中一个引用修改对象的属性,另外一个引用可以观察到改变
封装:
任何对象都会有明确的边界
边界对内部状态起到隔绝保护作用
边界的存在使得对象的内部状态对于使用者是透明的(不可见),
用户无需关心对象复杂的内部状态,只需掌握对象暴露的使用方式即可
public 公开的 不受边界的保护
private 私有的 严格受到边界的限制
属性全部私有,提供公开的getXxx() 和 setXxx();
私有方法:只为当前类型对象使用时的方法
公开方法:声明是公开的,实现是隐藏的。
开闭原则:对扩展开放,对修改关闭
class Person{
private int id;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
String name;
int age;
char sex;
double height;
double weight;
String blood;
}