//面向对象三大特点:
//封装
//继承
//多态
//封装:
//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("李四"); } }