面向对象编程,有一个要求是封装,数据对内可以随意,但是对外应该隐藏,因此java的字段一般会写为private,然后通过Getter 和setter提供对外的访问,对于一个字段,如果既有Getter也有Setter那么该字段可称为属性,同时,get和set方法除了直接操作数据之外,还可以进行一些其他的处理,例如你可以重载一个set方法,让他可以接受另外一种类型的参数,在set方法内部进行类型转换,或是在set中验证数据是不是合法之类的事情。
直接写在类里面public private或protected这些类型的变量,一般称为字段。
属性是javabean的一个概念,他表示有get或set方法的字段,仅有get是只读属性,仅有set是只写属性,两个都有就是普通的属性,我们可以通过propertydescriptor类对属性进行内省,从而得到对应的Getter或setter方法,进而可以进行其他操作。
如果 你听说过框架的话,这些框架都大量采用了反射的手法,特别是spring中。
至于直接写Getter或Setter太麻烦,那个,你应该用了eclipse吧,右键,source,里面就有生成Getter和setter,idea的话是alt + insert然后也有生成他们的选项,如果还是麻烦,那么你可以配置lombok,直接通过注解来完成。