Java——封装

Java——封装(encapsulation)

面向对象三大特性

  1. 封装(encapsulation):隐藏信息
  2. 继承(inheritance):延续,拓展信息
  3. 多态(polymorphism):模糊

封装

隐藏内部的实现细节,对外提供公共的访问方式

方法是封装的一种体现
私有是封装一种非常具体的体现
封装不仅仅是私有,方法,类 ,私有的属性 ,权限.. 
都是封装体现

优点:

提高代码的安全性
提高代码的复用性(方法)

private、default、protected、public四个权限修饰符的作用

类的访问权限:

	public 公共的 可被同一项目中所有的类访问。 
	(必须与文件名同名)
	
	default 默认的 可被同一个包中的类访问。

成员(成员变量或成员方法)访问权限:

public 公共的 可以被项目中所有的类访问。(项目可见性)

protected 受保护的 可以被这个类本身访问;同一个包中的
所有其他的类访问;被它的子类(同一个包以及不同包中的
子类)访问。(子类可见性)

default 默认的被这个类本身访问;被同一个包中的类访问。
(包可见性)

private 私有的 只能被这个类本身访问。(类可见性)

javabean

是一系列类的统称,模版类

规范和要求:

1. 类的公共的,被public修饰
2. 属性私有化,至少提供一个公共的访问方式
3. 至少提供一个空构造
4. 提供toString 和 equals方法

private修饰

private: 属于成员修饰符,不能修饰局部,只能修饰成员;

被private修饰的内容,只能在本类中使用

使用:

对于私有的变量,可以提供一个公共的访问方式(一对方法);
设置器setter和访问器getter

setter & getter

equals方法的重写

equals 如果使用Object类中的equals方法,比较的也是对象的地址值

public boolean equals(Object obj) {
        	return (this == obj);
}

配合方法的重写,实现比较对象内容而非地址 ;

注意: 如果以后自定义的模版类(User..Person..)
	  都应该提供equals()和toString()

toString方法的重写

toString() 配合方法的重写可以实现把对象以字符串的形式展示/返回 (所有成员属性的值)

 如果不重写,使用Object类中的toString
 展示的为类的包名+类名@地址值

==和 equals区别:
== 比较数据值,对象的地址值

下一篇,多态

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值