Java类的私有属性和封装的理解

新手在用框架进行开发的时候,速成了框架,却往往忽略了一些基础,比如写实体类的时候,常写Setter和Getter方法,它们的作用是什么呢?有没有注意过类的属性都是private修饰的呢?

抛开这些,先看一个例子,理解一下private吧:

//没有实现set和get方法的实体类
public class Target {
    public String name;
    private int age;//私有属性
}

Java类的私有属性和封装的理解_第1张图片

private关键字的作用

被private修饰的属性,只能在本类中访问,想要在外部访问私有属性,我们需要提供公有方法来间接访问。上面的例子就是在测试类(非Target类本身内部)中访问Target类的私有属性,结果不能直接访问。

所以private的作用就是对类的属性进行“封装”。

Setter和Getter方法

上面提到被private修饰的属性,可以提供公共方法来间接访问,这个公共方法就是我们常写的set和get方法,放一下代码吧:

public class Target {
    public String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
//测试类
public class Test2222 {
    public static void main(String[] args) {
        Target target = new Target();
        String name = target.name;
        int age = target.getAge();//通过公共方法get方法可以访问私有属性
    }
}

你可能感兴趣的:(Java基础(学源码前必会),java)