java中属性和字段的区别

首先,我们先明确,属性和字段都是类中的成员变量。他们之间的区别在于访问权限和可操作性不同。

一般情况下,属性是一个类所私有的,其他类要访问或修改这一属性需要通过get或set方法,而字段是公共的,其他类可以直接访问和修改,因此字段不需要get和set方法

public class Person {
    // 声明一个属性
    private String name;
    private int age;
    
    // 声明一个字段
    public String address;
    //构造器
    public Person(String name, int age, String address) {
        this.name = name;
        this.age = age;
        this.address = address;
    }

    // 定义一个公共方法,获取 name 属性值
    public String getName() {
        return this.name;
    }

    // 定义一个公共方法,设置 name 属性值
    public void setName(String name) {
        this.name = name;
    }

    // 定义一个公共方法,获取 age 属性值
    public int getAge() {
        return this.age;
    }

    // 定义一个公共方法,设置 age 属性值
    public void setAge(int age) {
        this.age = age;
    }
}

上面的代码中,我们定义了一个 Person 类,类中包含了一个属性 name、一个属性 age 和一个字段 address。其中,属性 name 和 age 声明为 private 访问权限,只能通过 getter 和 setter 方法来访问和修改。而字段 address 声明为 public 访问权限,可以直接访问。

总结一下就是,属性是一个类私有的,需要定义getter和setter方法,字段不是私有的,也不需要getter和setter方法

猜你喜欢

转载自blog.csdn.net/zaishuiyifang_ct/article/details/131141189