面向对象三大特点:
封装
继承
多态
封装:
private 关键字 ,是一个权限修饰符 ,可以修饰成员(成员变量和成员方法)
作用:保护成员不被别的类使用(被private修饰的成员的作用范围仅限于当前类)
针对private所修饰的成员变量,如果需要被其他的类使用,提供相应的额外的操作方法
①提供get变量名()方法 用户获取成员变量的值 方法的修饰符是public
②提供set变量名()方法 用户设置成员变量的值 方法的修饰符是public
封装的思想:
封装是面向对象的三大特征之一。是面对对象编程语言都客观世界的模拟,客观世界里成员变量都是隐藏在对象内部,外界是无法直接操作的。
封装的原则:
将类的某些信息隐藏在类的内部,不允许外部程序直接访问。而是通过该类提供的方法,而实现对隐藏信息的操作和访问。成员变量使用private修饰 提供对象的getXXX()和setXXX()方法
封装的好处:
1.通过方法来控制成员变量的操作,提高代码的安全性;
2.把代码用方法进行封装,可以提高代码的复用性。
Java中封装的体现
1.对于成员变量的封装 使用private
2.类体现对一类事物的属性和行为的封装
3.方法体现了封装的思想:就是将莫一个功能封装在其中
public class Student {
/*
类 所包含的应该是与其相关的成员
*/
//成员变量
//标准的Java类写法,也称为JavaBean
private String name;
private int age = 18;//在声明成员变量时可以给他一个默认值
public String getName(){
return name;
}
//this关键字 this代表当前调用方法的对象。那个对象调用当前的方法,this指的是那个对象
//this 修饰成员变量的时候: 可以区分成员变量和局部变量
//如果方法的形参和成员变量同名,不是this修饰的变量指的是形参,而this修饰的是成员变量
//this用于解决局部变量隐藏(或屏蔽)成员变量的问题
public void setName(String name){
this.name = name;//将局部变量name赋值给成员变量name
}
public int getAge(){
return age;
}
public void setAge(int age){
if(age < 0 || age > 120){
System.out.println("您输入的年龄不合法");
}else{
this.age = age;
}
}
}
public class StudentDemo {
public static void main(String[] args) {
Student stu1 = new Student();
//成员变量的访问 必须通过对象访问
stu1.setAge(18);
stu1.setName("张三");
System.out.println(stu1.getName() + "---" + stu1.getAge());
Student stu2 = new Student();
stu2.setName("李四");
}
}