欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java的封装及private的使用和练习

程序员文章站 2022-08-29 12:40:55
Java封装封装性在Java当中的体现:1.方法就是一种封装2.关键字private也是一种封装封装就是将一些细节信息.隐藏起来,对于外界不可见。public class Method { public static void main(String[] args) { int[] array ={1,2,3,4,5,100}; int max = getMax(array); System.out.println("最大值:"+max)...

Java封装

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

封装就是将一些细节信息.隐藏起来,对于外界不可见。

public class Method {

    public static void main(String[] args) {
        int[] array ={1,2,3,4,5,100};

        int max = getMax(array);
        System.out.println("最大值:"+max);
    }
    //给我一个数组,我换给你一个最大值
    //以下为定义一个方法
    public static int getMax(int[] array){
        int max = array[0];
        for (int i = 1; i<array.length; i++){
            if(array[i]>max){
                max = array[i];
            }
        }
        return max;
    }
}

private关键字的作用及使用

其目的是可以提高代码的安全性。目前就这么理解

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

一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。

间接访问private成员变量,就是定义一对Getter/Setter方法

必须叫setXxx或者是getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于setter来说,不能有返回值,参数类型和成员变量对应。

我们先来定义一个Person类

package Day1128;
public class Person {
    String name;//姓名
    private int age;//年龄

    public void show(){
        System.out.println("我是:"+ name +",年龄:"+ age);
    }

    //这个成员方法,专门用于向age设置数据
    public void setAge(int num) {
        if(num < 100 && num >= 9){ //如果条件合理
            //别忘了,&&是并且的意思同时满足条件,多多记吧!
            age = num;
        } else {
            System.out.println("数据错误!!!");
        }
    }

    //这个成员方法,专门用于获取age的数据
    public int getAge(){
        return age;
    }
}

我们再来创建一个对象

package Day1128;

public class D3Person {

    public static void main(String[] args) {
        Person person = new Person();
        person.show();

        person.name ="康康";
     //   person.age =-20;//直接访问private内容,是错误的写法!
        //要间接访问哦!
     //   person.setAge(-20);//因为在类中设置了,所以显示会为0
        person.setAge(20);
        person.show();
    }
}

为了怕忘记,我再来发发图看看
Java的封装及private的使用和练习

最后一关,让我们来做做练习吧

和上面一样,先定义一个类

对于基本类型当中的booLean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。
get拿进来,set放进去,记住就好了

package Day1128;
public class Student { //定义一个student类

    private String name; //姓名
    private int age; //年龄
    private boolean male; //是不是帅哥
//要注意了,这个set不要写错了,我有时会打错字,这就要用心了!!
    public void setMale (boolean b){
        male = b;
    }

    public boolean isMale(){
        return male;
    }

    public void setName(String str){
        name = str;
    }

    public String getName() {
        return name;
    }

    public void setAge(int num){
        age = num;
    }

    public int getAge(){
        return age;
    }
}

然后再创建一个对象来执行

package Day1128;

public class D3Person {

    public static void main(String[] args) {
        Person person = new Person();
        person.show();

        person.name ="康康";
     //   person.age =-20;//直接访问private内容,是错误的写法!
        //要间接访问哦!
     //   person.setAge(-20);//因为在类中设置了,所以显示会为0
        person.setAge(20);
        person.show();
    }
}

本文地址:https://blog.csdn.net/weixin_47894020/article/details/110287248