java语言基础中最重要的三个名词想必大家都听说过:封装、继承、多态。这是java面向对象的三大特性,弄白了了这三个特性对你更进一步的学习理解java语言有重要作用。
今天主要先来聊一聊封装,抛开程序语言不说,单从字面去理解它就是把东西装了起来,比如组装的电脑(把买来的CPU、内存条、硬盘等器件组装在壳子里封装起来)。java语言里的封装和字面意思差不多,首先我们说java是面向对象的,就是对程序执行时不考虑过程,只操作对象这个整体的思想,拿组装好的电脑来讲,我不管里面装了什么器件,怎么组装的,我只关心组装好的这台电脑点击开机键好不好使就行了。所以java封装就是抽取一个对象,把对象的属性、方法给放在一起封装成一个对象实例,然后对外提供可操作的方法接口,外面不知道这个封装好的对象实体中有什么,只管调来用就好了。
上述可能说的太过白话了专业点来讲:
封装就是:隐藏对象的信息;
留出访问的接口;将类的某些信息隐藏在类内部,不允许外部程序直接访问;
通过该类提供的方法来实现对隐藏信息的操作和访问;
特点:1.只能通过规定的方法访问数据。
2.隐匿类的实例细节,方便修改和实现。
上面都是理论,下面直接附上代码理解一下:
public class Student {
private String name; //姓名
private int age; //年龄
private String sex; //性别
private String address; //地址
public Student(){
System.out.println("我是一个学生!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
这是个Student类,它里面有学生的属性和方法,对外提供方法可供其他访问者使用:比如下面的访问者:
public class Test {
public static void main(String[] args){
//创建Student对象,获取性别
Student st=new Student();
st.setSex("男"); //使用student对象提供的方法
System.out.println(st.getSex());
}
}
我感觉大概主要思想就这么多东西,更深详细等理解透了后续再补充吧!