getter方法和setter方法的使用之封装
java有三大特性:封装,继承还有多态。
今天,我来讲一下其中最重要的特性之一:封装
。
首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用。
1.概念:封装也称为信息隐藏
,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他部分只有通过包裹在数据外面的被授权的操作来与这个抽象数据类型交流与交互。也就是说,用户无需知道对象内部方法的实现细节,但可以根据对象提供的外部接口(对象名和参数)访问该对象。
2.好处:(1)实现了专业的分工
。将能实现某一特定功能的代码封装成一个独立的实体后,各程序员可以在需要的时候调用,从而实现了专业的分工。
(2)隐藏信息,实现细节
。通过控制访问权限可以将可以将不想让客户端程序员看到的信息隐藏起来,如某客户的银行的密码需要保密,只能对该客户开发权限。
而我们在设置变量的属性时,我们通常会对数据进行封装,这样就可以增加了数据访问限制,增加了程序可维护性。而实现方法就是:用private去修饰一个变量,然后再用setter方法
去设置该变量的值,然后在用getter方法
去调用该变量的值。
public class Student{
private String number;//学生学号
private String name;//学生姓名
private int grade;//学生成绩
public Student(){
}
public String getNumber(){//用get方法得到学号
return number;
}
public void setNumber(String number){//用set方法去设置学号
this.number=number;
}
public String getName(){//用get方法得到姓名
return name;
}
public void setName(String name){//用set方法去设置姓名
this.name=name;
}
public int getGrade(){//用get方法得到成绩
return grade;
}
public void setGrade(int grade){//用set方法去设置成绩
this.grade=grade;
}
public static void main(String agrs[]){
Student st=new Student();
st.setNumber("2019001");
st.setName("张三");
st.setGrade(90);
System.out.println("学号:"+st.getNumber()+","+"姓名:"+st.getName()+","+"成绩:"+st.getGrade()+"。");
}
}
相信这个你可以看懂吧
欢迎大佬指点交流。