Java封装和封装的案例
目录
一、Java封装知识点简介
1、面向对象三大特性之封装的概念:
- 隐藏类的某些内部细节,不允许外部程序直接访问
- 隐藏某些细节的类提供某些公共方法,对隐藏的内部细节进行访问和修改
- 隐藏对象的信息
- 留出访问的接口
2、封装的特征:
- 只能通过类提供的方法访问和修改数据
- 隐藏类的实现细节,方便修改和实现
3、封装的实现步骤:
(1)、步骤:第一、修改属性的修饰符为private;第二、创建get/set方法来访问和修改属性值;第三、在get/set方法中添加控制语句规范代码
(2)封装实现代码示例:创建getter/setter方法可以通过【源码】——【生成getter/setter方法来自动创建】
package com.imooc.model;
public class Student {
private String studentNo;
private String studentName;
private String studentSex;
private int studentAge;
//方案三,将学科对象作为属性
private Subject subject;
public Subject getSubject() {
if(subject==null)
subject=new Subject();
return subject;
}
public void setSubject(Subject subject) {
this.subject = subject;
}
//无参构造
public Student() {
}
//多参构造,实现对全部属性的赋值
public Student(String studentNo,String studnetName,String studentSex,int studentAge) {
this.setStudentNo(studentNo);
this.setStudentName(studnetName);
this.setStudentSex(studentSex);
this.setStudentAge(studentAge);
}
//将Subject对象初始化的构造函数
public Student(String studentNo,String studnetName,String studentSex,int studentAge,Subject subject) {
this.setStudentNo(studentNo);
this.setStudentName(studnetName);
this.setStudentSex(studentSex);
this.setStudentAge(studentAge);
this.setSubject(subject);
}
public String getStudentNo() {
return studentNo;
}
public void setStudentNo(String studentNo) {
this.studentNo = studentNo;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public Str