• 7.4 private 成员变量的私有


    /*
    * 学生类(age不能为负数。将age参数私有,创建方法判断age不为负。被private修饰的成员只能在本类中被访问,若想访问可以使用get、set方法)
    *
    * 通过对象直接访问成员变量,会存在数据安全问题
    * 这个时候,我们就想能不能不让外界的对象直接访问成员变量呢?
    * 能。
    * 如何实现呢?
    * private关键字
    *
    * private:
    * 是一个修饰符
    * 可以修饰成员变量,也可以修饰成员方法
    * 被private修饰的成员只能在本类中被访问
    *
    * 针对private修饰的成员变量,我们会相应的提供getXxx()和setXxx()用于获取和设置成员变量的值,方法用public修饰
    */
    public class PrivateStudent {
        String name;
    //    int age;
        private int age;
    
        public void setAge(int a) {
    //        age = a;
            if(a >0 && a < 200) {
                age = a;
            }else {
                System.out.println("输入有误");
            }
        }
    
        public int getAge() {
            return age;
        }
    
        public void show() {
            System.out.println("name:"+name+",age:"+age);
        }
    
    }
    public class PrivateStudentUse {
        public static void main(String[] args) {
            PrivateStudent s = new PrivateStudent();
    
            s.show();
    //        System.out.println(s.name+"--"+s.age);
            s.setAge(3);
            System.out.println(s.name+"---"+s.getAge());
    
            s.setAge(-2);
            System.out.println(s.name+"---"+s.getAge());
    
            s.show();
    
        }
    }

    输出如下

  • 相关阅读:
    模板template用法
    关联式容器MAP的用法----类似与python中的dict
    迭代器iterator
    c++中的vertor
    Git操作(git reset & get revert)
    代码度量标准
    __attribute__关键字
    Centos7.2部署.Net Core2.0 WebApi
    通过nginx 访问 centos 7 服务器上的.Net Core
    ASP.NET Core部署到CentOS7,使用Nginx代理
  • 原文地址:https://www.cnblogs.com/longesang/p/10978340.html
Copyright © 2020-2023  润新知