zoukankan      html  css  js  c++  java
  • java面对对象-封装

    1.访问控制符

    Java的访问控制符:private、protected、public,还有一个不加任何访问控制符的访问控制级别。
    四个控制级别由小到大:private、default、protected、public
    private:当前类访问权限
    default:包访问权限,可以被相同包下的其他类访问
    protected:子类访问权限,既可以被同一个包中的其他类访问,也可以被不同包中的子类访问
    public:公共访问权限

    对于局部变量而言,其作用于就是它所在的方法,不能被其他类访问,所以不能使用访问控制符修饰。

    2.封装:将对象的状态信息对外部隐藏起来,不允许外部直接访问,而是由该类提供方法来实现对信息的访问。

    良好的封装应该是,对象的Field和实现细节隐藏起来,外界无法直接访问,提供方法来对Field进行访问和操作。

    如果一个Java类的每个Field都被使用private修饰,并为每个Field都提供了public修饰的setter和getter方法,那么这个类就是一个符合JavaBean规范的类。JavaBean是一个封装良好的类。

    eg:

    复制代码
    package cn.it.lsl;
    
    public class Person {
        private String name;
        private int age;
        
        public void setName(String name){
            if(name.length()>6 || name.length()<2){
                System.out.println("您设置的人名不符合要求");
                return;
            }else{
                this.name = name;
            }
        }
        
        public String getName(){
            return this.name;
        }
        
        public void setAge(int age){
            if(age>100 || age<0){
                System.out.println("您设置的年龄不符合要求");
                return;
            }else{
                this.age = age;
            }
        }
        
        public int getAge(){
            return this.age;
        }
    }
    复制代码
    复制代码
    package cn.it.lsl;
    
    public class PersonTest {
        public static void main(String[] args) {
            Person p = new Person();
            //p.age = 50;        //错误。不能直接访问
            p.setAge(1000);
            System.out.println(p.getAge());        //未能正确设置年龄
            p.setAge(25);
            System.out.println(p.getAge());
        }
    }
    复制代码
  • 相关阅读:
    noip2011 总结
    noip2010 总结
    noip2009 总结
    noip2008 总结
    noip2006总结
    noip2007 总结
    noip2006 总结
    【模板】线段树模板
    【数学】8.30题解-count数页码
    【数论】8.30题解-prime素数密度 洛谷p1835
  • 原文地址:https://www.cnblogs.com/wuqiance/p/11573349.html
Copyright © 2011-2022 走看看