JavaSE面向对象(三)-封装
  eZw8kcl3fQWu 2023年11月19日 15 0



文章目录

  • 1.为什么使用封装
  • 1.1.生活案例
  • 1.2.程序中的封装
  • 2.如何使用封装
  • 3.IDEA快速生成Get和Set
  • 4.封装的案例
  • 5.4.访问修饰符(面试题)


1.为什么使用封装

1.1.生活案例

生活中的封装比如ATM收款机,会使用一个机器来保证钱的正常流动,给你一个特定的方法来存钱取钱,不会说让你随意的取钱存钱。

JavaSE面向对象(三)-封装_Java核心技术


**

JavaSE面向对象(三)-封装_Java基础_02

1.2.程序中的封装

  • 封装是一种设计思想,为了在给对象赋值的时候,保证数据的安全性和准确性!把共有的属性给隐藏起来,暴露访问的部分!
  • 封装的好处:隐藏类的实现细节;让使用者只能通过程序员规定的方法来访问数据,可以方便的加入存取控制语句,限制不合理操作
  • JavaSE面向对象(三)-封装_Java面向对象_03


2.如何使用封装

JavaSE面向对象(三)-封装_Java面向对象_04

  • 步骤1: 把类中的属性设置为private (私有的,只有当前类可以使用)

private表示私有的,private修饰的属性只能在当前类中访问

JavaSE面向对象(三)-封装_JavaSE_05

  • 步骤2:针对每个属性,生成一个共有的setXXX( )方法, 给每个属性赋值!和 一个公共的getXXX()方法,供外界获取值!
  • JavaSE面向对象(三)-封装_JavaSE_06


  • JavaSE面向对象(三)-封装_JavaSE_07

  • 如果形参和属性重名,那么为了不造成歧义,可以使用this关键字来指定
  • JavaSE面向对象(三)-封装_Java面向对象_08

  • 调用方式
  • JavaSE面向对象(三)-封装_Java面向对象_09

  • 后期属性的标准写法
-私有的属性 private
-给私有的属性生成一对 getXXX( )方法和setXXX( )方法

3.IDEA快速生成Get和Set

JavaSE面向对象(三)-封装_Java基础_10

JavaSE面向对象(三)-封装_Java基础_11

JavaSE面向对象(三)-封装_java_12

4.封装的案例

  • 学生类
/*
 * 学生类
 */
public class Student {

	// 属性
	private String name;
	private char sex;
	private int age;

	// 给name赋值
	public void setName(String name) {
		this.name = name;
	}

	// 获取name属性
	public String getName() {
		return this.name;
	}

	// 给性别赋值
	public void setSex(char sex) {
		if (sex == '男' || sex == '女') {
			this.sex = sex;
		} else {
			System.out.println("性别输入有误!");
			this.sex = '男';
		}
	}

	// 给sex获取
	public char getSex() {
		return this.sex;
	}

	// 给年龄赋值
	public void setAge(int age) {
		if (age <= 0 || age >= 130) {
			this.age = 18;// 默认值
			System.out.println("年龄输入不合法!");
		} else {
			this.age = age;
		}
	}

	public int getAge() {
		return this.age;
	}

	// 方法
	public void sayHi() {
		System.out.println("我是:" + name);
		System.out.println("年龄:" + age);
		System.out.println("性别:" + sex);
	}

}
  • 测试学生类
/*
 * 测试类
 */
public class TestStudent {

	public static void main(String[] args) {
		
		Student s1=new Student(); //对象
		
		//通过set方法设置值
		s1.setName("德华");
		s1.setSex('呵');
		s1.setAge(-50);
		
		System.out.println("姓名是:"+s1.getName());
		System.out.println("性别是:"+s1.getSex());
		System.out.println("年龄是:"+s1.getAge());
		
	}
}

5.4.访问修饰符(面试题)

  • 访问修饰符的作用是说明被声明的内容(类,方法,属性)的访问权限。
  • 在Java中,访问控制权限有4种,publicprivateprotected无修饰符



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
eZw8kcl3fQWu