面向对象的三大特性有:封装、继承、多态。
1、封装
1.1概述:
封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的 *** 作和访问,把尽可能多的东西藏起来,对外提供便捷的接口。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。主要功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的片段。使得代码更容易理解与维护,也加强了代码的安全性。
1.2封装的优点
(1)良好的封装能够减少耦合,提高系统的独立性;
(2)类内部结构可以自由修改;
(3)可以对成员变量进行更精确的控制;
(4)隐藏信息,实现细节。
1.3封装的使用
封装的实现过程:
(1)修改属性的可见性:设为private,防止错误的修改。例如:
/**
* 属性私有化
* 昵称
*/
private String nickName;
/**
* 年龄
*/
private int age;
(2)提供公共的访问方法:创建公有的getter/setter方法,给外部提供对应属性的设值和获取。例如:
//提供公共(public)的访问方法
//getter方法
public String getNickName() {
return nickName;
}
//setter方法
public void setNickName(String nickName) {
this.nickName = nickName;
}
//getter方法
public int getAge() {
return age;
}
//setter方法
public void setAge(int age) {
this.age = age;
}
(3)在getter/setter方法中根据需求加入属性控制语句
1.4this关键字
this:当前类的对象。它是一个代词,类似于我们生活中像:自己、你...,当前正在构建或使用哪个对象,它就代表哪个对象。
可以调用属性:this.属性名(如果局部变量和成员变量同名,默认它会采用局部变量(就近原则),如果要用成员变量要加上this。)例如:
/**
* 成员变量
* 昵称
*/
private String nickName;
//局部变量
public void setNickName(String nickName) {
this.nickName = nickName;
}
可以调用方法:this.方法名([实际参数])
可以调用构造方法:this([实际参数])(使用this调用构造方法时,不允许相互调用造成死循环)
注意:如果在某个构造中去调用另一个构造,this()/this(xxx)必须是构造方法中的第一条语句。
2、JavaBean规范
JavaBean规范,可以理解为是一种模型。符合这种规范的类都叫JavaBean。
1.属性私有化。(所有属性访问修饰符为private)
2.提供无参构造。(提供默认构造方法)
3.提供公共的getter和setter方法。
4.实现serializable接口。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)