【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.4 访问修饰符
修饰符(modifiers)
- 访问修饰符(access modifiers)
如public/private等 - 其他修饰符
如abstract等 - 可以修饰类、也可以修饰类的成员(字段、方法)
同一个类中 | 同一个包中 | 不同包中的子类 | 不同包中的非子类 | |
---|---|---|---|---|
private | Yes | |||
默认(包可访问) | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |
- 在定义类时,也可以用用控制访问符
- 类的访问控制符或者为public,或者默认
//若使用public,其格式为:
public class 类名{
//一般要不写public,要不不写
.....;
}
如果类用public修饰,则该类可以被其他类所访问
若类默认访问控制符,则该类只能被同包中的类访问
setter与getter
- 将字段用private修饰,从而更好地将信息进行封装和隐藏
- 用setXXX和getXXX方法对类的属性进行存取,分别称为setter与getter
- 这种方法有以下优点
(1)属性用private更好的封装和隐藏,外部类不能随意存取和修改
(2)提供方法用来存取对象的属性,在方法中可以对给定的参数的合法性进行检验
(3)方法可以用来给出计算后的值
(4)方法可以完成其他必要的工资(如清理资源,设定状态,等等)
(5)只提供getXXX方法,而不提供setXXXX方法,可以保证属性是只读的
class Person2{
private int age;
public void setAge(int age){
if(age>0&&age<200)
this.age =age;
}
publi int getAge(){
return age;
}
}