Java学习(47)Java封装——封装的概念和特点以及代码实现

一. 封装的概念和特点

  1. 封装:
    将类的某些信息隐藏在类内部,不允许外部程序直接访问;
    通过该类提供的方法来实现对隐藏信息的操作和访问;
    隐藏对象的信息;
    留出访问的接口。
  2. 封装的特点:
    (1) 只能通过规定的方法访问数据;
    (2) 隐藏类的实例细节,方便修改和实现。

二. 封装的代码实现

  1. 实现步骤
    (1) 修改属性的可见性,将其修改为private,表明这个属性只能在当前类内被访问,出了这个类,就不能被访问了;
    (2) 创建getter/setter方法,设为public方法,用于属性的读写,设置了这两个公有的方法,就可以在类外完成私有属性的访问了;
    (3) 在getter/setter方法中加入属性控制语句,对属性的合法性进行判断(比如性别只能输入男或者女,年龄只能输入为正值等等)。
    案例:
package com.study.animal;

public class Cat {
	// 成员属性:昵称、年龄、体重、品种
	// 修改属性的可见性---private 限定只能在当前类内访问
	private String name;// 昵称 String类型默认值null
	private int month;// 年龄 int类型默认值0
	private double weight;// 体重 double类型默认值0.0
	private String species;// 品种

	// 创建get/set方法
	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return "我是一只名叫:" + this.name + "的宠物猫";
	}

在主方法内调用get/set方法

package com.study.animal;

//单一职责原则
public class CatTest {
	public static void main(String[] args) {
		// 对象实例化
//		Cat one = new Cat(3);
		Cat one = new Cat();
		// 测试
		one.setName("喵喵");

		System.out.println("昵称:" + one.getName());
	}
}

(4) 快速定义get/set方法
在定义完如下私有属性后:

/ 成员属性:昵称、年龄、体重、品种
	// 修改属性的可见性---private 限定只能在当前类内访问
	private String name;// 昵称 String类型默认值null
	private int month;// 年龄 int类型默认值0
	private double weight;// 体重 double类型默认值0.0
	private String species;// 品种

鼠标右键,点击Source → \to Generate Getters and Setters → \to 勾选需要生成getters和setters的私有属性
注:只有getXXX方法的属性是只读属性;只有setXXX方法的属性是只写属性。
可以通过异常处理优化程序,后面会详细介绍。
3. 定义包
(1) 语法:

package 包名;

例如:package com.study.animal;
(2) 注意:
a. 必须放在Java源文件中的第一行;
b. 一个Java源文件中只能有一个package语句;
c. 包名全部英文小写;
d. 命名方式:域名倒序+模块+功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值