Java面向对象高级特性-封装
原创约 633 字大约 2 分钟...
197-Java面向对象高级特性-封装.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
package com.tencent.chapter07.封装;
/**
* <p>Title: Employee</p>
* <p>
* Description:
封装:
隐藏属性、方法或实现细节的过程称为封装
特点:
1.构造器与类一般使用public修饰
2.属性一般使用private修饰,对外提供访问器访问属性,get方法取值,set方法赋值
好处:
1.隐藏类的实现细节
2.让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作
3.可进行数据检查
-----------------------------------------------------------------------------
修饰类: public <default>
修饰变量、方法:public protected <default> private
public: 同类、同包、不同包子类、不同包
protected:同类、同包、不同包子类
<default>:同类、同包
private: 同类
* </p>
* @author xianxian
* @date 2023年1月4日
*/
public class Employee {
/**员工编号*/
private int empno;
/**员工姓名*/
private String ename;
/**员工工资*/
private double salary;
/**访问器(get与set)*/
public int getEmpno()
{
return empno;
}
public void setEmpno(int empno)
{
this.empno = empno;
}
public String getEname()
{
return ename;
}
public void setEname(String ename)
{
//3.可进行数据检查
if(ename == null || "".equals(ename))
{
System.out.println("雇员姓名不能为空");
return;
}
this.ename = ename;
}
public double getSalary()
{
//1.隐藏类的实现细节
return calSalary();
}
public void setSalary(double salary)
{
//2.让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作
if(salary < 2600)
{
System.out.println("薪资不能小于2600");
return;
}
this.salary = salary;
}
//1.隐藏类的实现细节
private double calSalary()
{
return salary + 5000 + 300 + 200 + (10000*0.1);
}
}
package com.tencent.chapter07.封装;
public class EmployeeTest {
public static void main(String[] args) {
Employee scott = new Employee();
//scott.empno = 7788;
//scott.ename = "斯卡特";
//scott.salary = -10000;//属性已被private修饰,不允许类以外的人访问
//调用set方法赋值
scott.setEmpno(7788);
scott.setEname(null); //雇员姓名不能为空
scott.setEname("斯卡特");
//scott.setSalary(-10000);//薪资不能小于2600
scott.setSalary(2600);//薪资不能小于2600
//调用get方法取值
System.out.println(scott.getSalary());
}
}
分割线
相关信息
以上就是我关于 Java面向对象高级特性-封装 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
Powered by Waline v2.15.4