一,封装
1,定义
封装是指隐藏实现细节,对外提供统一的访问方式。
2,分类
广义的封装:
生活中很多事情都符合封装思想。
java代码中:
类就是封装
用代码解释就是,类的大括号中的所有具体实现不用了解,直接可以同其它方式使用类即可。
方法就是封装
用代码解释就是,方法的大括号中的所有具体实现不用了解,直接可以同其它方式使用类即可。
把以上思想引申就是代码中所有的大括号的内容都是符合封装的(不用管代码怎么写的,会用就好)。
狭义的封装:
private 私有的意思
二,封装private讲解
1,private:私有的意思
A,被private修饰的类的成员只能被类的成员(方法)访问。
B,被private修饰的成员变量必须配合写两个方法(setter getter)。
setter语法规则:负责给成员变量赋值
set+成员变量的首字母大写
getter语法规则:负责给成员变量取值
get+成员变量的首字母大写
C,类中的所有成员变量都要求使用private修饰。
eg:
class Student{
private name;
//int age;
private int age;//age被private修饰。则age只能在类中被访问,不能在类外部访问。
//针对age属性的setter方法的,用于给age属性赋值
public void setAge(int _age){
if(_age<=0){
//如果age不符实实际需求,就会报错
System.out.println("您输入错误");
return;
}
age=_age;
//针对age属性的getter方法的,用于给age属性取值
public int getAge(){
return age;
}
public void study(){
System.out.println("学生学习");
}
}
}
public class ObjectDemo1{
public static void main(String[] args){
//创建一个学生对象
Student st=new Student();
//为st学生对象的属性赋值
st.name="张三";
//st.age=21;
st.age=-21;age可以在Student中访问private
//setter方法赋值
st.setAge(21);
//getter方法取值
System.out.println("年龄:"+st.hetAge());
}
}