Java笔记(十)……面向对象II封装(Encapsulation)
2013-10-17 11:51
218 查看
封装概念
封装:
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:
将变化隔离。 便于使用。 提高重用性。 提高安全性。封装原则:
将不需要对外提供的内容都隐藏起来。 把属性都隐藏,提供公共方法对其访问。private(私有)关键字
private关键字:
是一个权限修饰符。 用于修饰成员(成员变量和成员函数) 被私有化的成员只在本类中有效常用之一:
将成员变量私有化,对外提供对应的set ,get方法对其进行访问。提高对数据访问的安全性。
构造函数
特点:
函数名与类名相同 不用定义返回值类型 不可以写return语句作用:
给对象进行初始化。
注意:
默认构造函数的特点(权限与类相同)。 多个构造函数是以重载的形式存在的。 只运行一次。 构造函数可以被private关键字修饰,当所有构造函数被私有时,此类不能创建实例对象
构造代码块
特点:
为对象初始化 建立对象时即运行,优先于构造函数与构造函数的区别:
构造代码块为所有对象初始化 构造函数为对应对象初始化this关键字
特点:
this代表其所在函数所属对象的引用。 换言之: this代本类对象的引用。
什么时候使用this关键字
当在函数内需要用到调用该函数的对象时,就用this。
this语句
this(); 只能放在构造函数第一行,因为初始化动作要先执行 一般函数不能调用构造函数,this()不允许出现在一般函数中
static(静态)关键字
static关键字:
用于修饰成员(成员变量和成员函数)
被修饰后的成员具备以下特点:
随着类的加载而加载 优先于对象存在 被所有对象所共享 可以直接被类名调用实例变量和类变量的区别
存放位置
类变量随着类的加载存放于方法区中 实例变量随着对象的建立存放在堆中
生存周期
类变量生存周期最长,随着类的消失而消失 实例变量随着对象的消失而消失
类变量随着类的加载存放于方法区中 实例变量随着对象的建立存放在堆中
生存周期
类变量生存周期最长,随着类的消失而消失 实例变量随着对象的消失而消失
使用注意
静态方法只能访问静态成员非静态方法既可以访问静态成员,也可以访问非静态成员
静态方法中不可以写this,super关键字 因为静态优先于对象存在,所以静态中不可以出现this,super
主函数是静态的
静态利弊
好处:对对象的共享数据进行单独空间的存储,节省空间 可以直接被类名调用
弊端: 生命周期过长 访问出现局限性
何时定义
何时定义静态变量
对象中有共享数据时(即属性值相同)
何时定义静态方法
此方法不访问对象的特有数据时
对象中有共享数据时(即属性值相同)
何时定义静态方法
此方法不访问对象的特有数据时
静态应用
工具类
构造函数需私有化 函数被静态修饰提供给外界使用 例如:util包中的Arrays工具类
构造函数需私有化 函数被静态修饰提供给外界使用 例如:util包中的Arrays工具类
相关文章推荐
- Java中正则表达式的使用
- struts2中jsp页面表单提交到action中文乱码问题
- Java注解(获取注解的值)
- JAVA中的实例变量和静态变量
- Spring JDBC 访问MSSQL
- Java web 工程 与 flex工程 集成
- Eclipse快捷键
- eclipse中添加中文api文档解释
- [有图有真相]Eclipse svn账户注销清除
- Singleton小记
- java.lang.OutOfMemoryError: Java heap space 浅析
- Java知识点回顾一
- java之memcpy
- 将json转换为java集合对象
- Spring Batch之Sample(游标方式读写DB数据表)
- Eclipse中,源文件乱码解决方案总结
- 关于java编译
- Spring ROO -Error
- Java中自定义异常
- eclipse和myeclipse插件直接导入不了问题解决。