美文网首页
封装和private关键字

封装和private关键字

作者: 养码哥 | 来源:发表于2018-04-01 12:57 被阅读0次

    核心代码:

    /*
    private:
        是一个权限修饰符
        可以修饰成员变量和成员方法
        被其修饰的成员只能在本类中被访问
        
        
        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 = 18;
        //通过方法给赋值
        s.setName("贺雷");
        s.setAge(18);
        System.out.println(s.getName()+"---"+s.getAge());
      }
    }
    

    相关文章

      网友评论

          本文标题:封装和private关键字

          本文链接:https://www.haomeiwen.com/subject/yhwocftx.html