今天学习了java的封装性,为什么需要封装呢,官方来说就是
(1)高内聚:类的内部数据操作细节自己完成,不允许外部干涉。
(2)低耦合:尽量暴露少量的方法给外部使用,尽量方便外部的调用
其实就是把该隐藏的隐藏起来,该暴露的暴露出来。这就封装的设计思想,使代码更加的安全。
这里要知道java的权限修饰符有哪些:public protected 缺省 private,范围是从大到小的。
权限修饰符的作用是用来修饰类或者类的内部成员,使的它们能不能被外部调用。
这里我们就封装一个简单的javaBean类:
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = 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;
}
}
这就是一个简单的javaBean类,类内部的属性我们给他做了私有化,使得外部不能直接对内部的属性做出修改,要调用内部的方法才可以。这里呢我们看到了构造方法和this的使用,简单回忆一下。
什么是构造方法,格式为:权限修饰符 类名(){},这样的方法为构造方法,作用呢就是为了,创建对象时,对象进行初始化。在内部创建对象时,内部其实会自动生成一个无参数的构造方法,其实,new一个无参数对象的过程就是调用了无参构造方法,我们一般会生成无参的和带参数的,用来初始化属性。
还有一个this,this.属性指向的其实就是,当前调用对象的属性或者方法。为了见名知意,在封装时,我们常常会把set方法的成员变量和形参变量的名字保持一致,这时为了区分它们,就要使用this关键字。如果不使用,其实指向的是同一个形参变量,因为java在查找变量时会遵循就近原则,先找离得近的,所以必须要使用this.属性名区别开。
this还可以调用构造方法,通过this(形参列表)调用对应的构造方法。