Java 面向对象三大特征之一:封装

时间:2022-05-04
本文章向大家介绍Java 面向对象三大特征之一:封装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

面向对象三大特征之一:封装

概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法类实现对隐藏信息的操作和访问

封装的好处: 隐藏类的实现细节 方便加入控制语句 方便修改实现 只能通过规定方法访问数据

封装的步骤: 1.修改属性 的可见性  >>>>>>设为private 2.创建公有的getter/setter方法  >>>>>>用于属性的读写 3 在getter/setter方法中加入属性控制语句  >>>>>>对属性值的合法性进行判断

封装的快捷键:Shift+Alt+S+R

废话不多说,上栗子:

public class Dog {
    //属性 
             //昵称
        private     String name;
            //健康值
        private     int health;
            //亲密度
        private    int love;
            //品种
        private    String strain="聪明的拉不拉多犬";
    
        
        
        
        //获得值 只读方法
    public String getName() {
            return name;
        }



//set 赋值 可写方法

        public void setName(String name) {
            this.name = name;
        }





        public int getHealth() {
            return health;
        }





        public void setHealth(int health) {
            
            if (health<0 || health>100) {
                this.health=40;
                System.out.println("健康值必须在0到100之间");
            }
            else
            {
            
            this.health = health;
            }
        }





        public int getLove() {
            return love;
        }





        public void setLove(int love) {
            this.love = love;
        }





        public String getStrain() {
            return strain;
        }





        public void setStrain(String strain) {
            this.strain = strain;
        }





    /**
     * 输出具体的狗类对象的信息
     */
            public void print()
            {
            System.out.println("宠物自白:我的名字叫"+this.name+"n健康值为:"+health+"n和主人的亲密关系"+love+"我是一只"+this.strain);    
                
                
            }
}
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
    
        
        
        Dog dog=new Dog();
        dog.setName("拉不拉多犬");
        System.out.println(dog.getName());
        dog.setHealth(90);
        System.out.println(dog.getHealth());
        
    }

}