private关键字的概述和特点:
- /*
- private:
- 是一个权限修饰符
- 可以修饰成员变量和成员方法
- 被其修饰的成员只能在本类中被访问
- */
- class Demo {
- //int num = 10;
- //用private修饰
- private int num = 10;
-
- public void show() {
- System.out.println(num);
- }
-
- private void method() {
- System.out.println("method");
- }
-
- public void function() {
- method();
- }
- }
- class PrivateDemo {
- public static void main(String[] args) {
- Demo d = new Demo();
- //不能方法私有的成员变量
- //System.out.println(d.num);
- d.show();
- //不能访问私有的成员方法
- //d.method();
- d.function();
- }
- }
复制代码- /*
- 封装和private的应用:
- A:把成员变量用private修饰
- B:提供对应的getXxx()和setXxx()方法
- */
- //定义学生类
- class Student {
- //姓名
- private String name;
- //年龄
- private int age;
-
- //姓名获取值
- public String getName() {
- return name;
- }
-
- //姓名设置值
- public void setName(String n) {
- name = n;
- }
-
- //年龄获取值
- public int getAge() {
- return age;
- }
-
- //年龄赋值
- public void setAge(int a) {
- age = a;
- }
- }
- //测试类
- class StudentTest {
- public static void main(String[] args) {
- //创建学生对象
- Student s = new Student();
-
- //使用成员变量
- //错误:被私有修饰了,外界不能直接访问了
- //System.out.println(s.name+"---"+s.age);
- System.out.println(s.getName()+"---"+s.getAge());
-
- //给成员变量赋值
- //s.name = "林青霞";
- //s.age = 27;
- //通过方法给赋值
- s.setName("林青霞");
- s.setAge(27);
- System.out.println(s.getName()+"---"+s.getAge());
- }
- }
复制代码
|
|