Java-封装

Java基础整理--------封装


先介绍下访问修饰符:

  • public

公共的,用public修饰的类、属性、方法,在同项目工程下的所以类均可以访问

  • private

私有的,用private修饰的类、属性、方法,只能在本类中可以访问,工程其他地方均不能访问。

  • protected

受保护的,用protected修饰的类、属性、方法,同包内的类以及继承了该类的子类(其他包也包括)能访问。

  • 缺省的(默认)

什么都不写,如果一个类、属性、方法没有写以上任何修饰符,则表示默认缺省。只能同包下的类才能访问。重点突出包的概念。


封装

面向对象的三大特征:封装、继承、多态

封装是指将对象的状态信息(属性)隐藏在对象内部,通过对象提供的方法对其属性进行操作和访问

将一些实现细节包装,隐藏起来,只留一些接口使之与外界联系。

封装的好处

  1. 良好的封装能够减少耦合
  2. 类内部的结构可以自由修改
  3. 可以对成员变量进行更精确的控制
  4. 隐藏信息,实现细节

在创建一个对象的时候,可以通过修改对象中属性的访问修饰符,来达到信息隐藏。

public class Person {

	/**
	 * 	姓名
	 */
	private String name;
	
	/**
	 * 	年龄
	 */
	private int age;
	
	/**
	 * 	爱好
	 */
	private String hobby;
}

在上面person对象中,name、age、hobby属性的访问级别设置为的是private(私有的),只能本类访问,在其他地方获取属性值不能使用对象.属性的方式了,这就对person的信息进行了初步的隐藏。


需要提供一些接口(公共的方法来使之于外界联系),对Person对象中的每个属性值提供对外的公共方法访问,使其通过访问方法从而获取属性的值和对属性赋值。

	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;
	}

	public String getHobby() {
		return hobby;
	}

	public void setHobby(String hobby) {
		this.hobby = hobby;
	}

这些修饰符为public的方法被称之为getter、setter方法,这样其他类想要访问Person中的属性就只能通过访问这些方法。

如果有其他类调用Person方法中的属性,你想对属性的赋值做一些限制,那么就可以在该属性的setter方法中添加代码。如Person的age必须是一个大于零的数。那么:

	public void setAge(int age) {
		if(age<0) {
			System.out.println("年龄必须是大于零的");
		}else {
			this.age = age;
		}
	}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值