一、JAVA中的封装:

1.代码如下:

示例:

package 面向对象的封装;

import com.sun.security.jgss.GSSUtil;

public class 面向对象的封装性 {
  String name;
    private int age;
    public void show(){
        System.out.println("我叫:"+name+",年龄:"+age);

    }
    public void setAge(int num){           //把数据往里放
        if (num<=100&&num>0){
            age=num;

        }else{
            System.out.println("输入的数字有误!");

        }
    }
    public int getAge(){                 //把数据往外拿
        return age;
    }


 //                       this关键字的作用

    /*

         当方法的局部变量和类的成员变量重名时,根据就近原则,优先使用局部变量
         如果需要访问本类当中的成员变量,需要使用以下格式:   this.成员变量名

         通过谁调用的方法,谁就是this.



    */

    String mingzi;

    public void sayhello(String who){

        System.out.println(who+",你好。我是"+this.mingzi);
        System.out.println(this);
    }



    //                    方法的封装
    public static void main(String[] args) {
        System.out.println("=================================");
        
        int[] shuzu1={10,20,40,30,39,65};

        int max=shuzu2(shuzu1);

        System.out.println(max);
    }

    public static int shuzu2(int[] shuzu1){
        int max=shuzu1[0];
        for (int i = 1; i < shuzu1.length; i++) {

            if (shuzu1[i]>max)
            {
                max=shuzu1[i];
            }
        }
        return max;
    }
}
=================================================================
package 面向对象的封装;

import 面向对象的封装.面向对象的封装性;

public class 面向对象的封装性1 {
    public static void main(String[] args) {
        面向对象的封装性 fengzhuang=new 面向对象的封装性();
        fengzhuang.show();
        fengzhuang.name="李华";
        fengzhuang.setAge(-10);
        fengzhuang.show();

        System.out.println("=======================");

        面向对象的封装性 person =new 面向对象的封装性();
        person.mingzi="王思聪";
        person.sayhello("王健林");

        System.out.println(person);

    }
}

2.运行结果:

示例:

=================================
65

总结:

提示:这里对文章进行总结:

面向对象的三大特征: 封装  继承.继承   多态.多态

     封装性在Java当中的体现:
       1.方法就是一种封装
       2.关键字private也是一种封装

   问题描述:定义年龄时,无法阻止不合理的数值被设置
   解决方案:用private关键字将需要保护的成员变量进行修饰

      注意:
             一旦使用了private进行修饰,那么本类当中仍然可以随意访问,但是超出本类范围就不能直接访问,可以间接访问。
                  间接访问private成员变量,定义一对getter/setter方法
                   必须叫setX(大写)xx/getXxx的命名规则
                       对于getter来说:不能有参数,返回值类型和成员变量对应
                       对于setter来说:不能有返回值,参数类型和成员变量相对应