一、访问修饰符的介绍
信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因。信息隐藏的原因包括:(1)对任何实现细节所作的更改不会影响使用该类的代码,(2)防止用户意外删除数据。访问修饰符使用的关键字有三个:private(私有) ,protected(保护),public(公共)。他们既可以修饰属性,也可以修饰方法。还有一个就是默认修饰符,就是属性或者方法前面不添加任何访问修饰符,它们的功能如下:
private:只有该类可以访问
protected:该类及其子类的成员可以访问,同一个包中的类也可访问
public:该类或非该类均可访问
默认:相同数据包中的类可以访问
列一个表看起来更加清晰:
二、示例
我们现在可以把类修改一下,定义几个使用不同修饰符的属性和方法。
public classAnimals {private String name;//私有属性
protected boolean gender;//保护属性
public int age;//公有属性
publicAnimals() {
System.out.println("新建一个动物");
}publicAnimals(String name) {this.name =name;
System.out.println("新建一个叫" + name + "的动物");
}//公有方法
public voideat() {
System.out.println(name+"我是父类的eat方法,动物吃东西");//name是私有属性,只能本类访问
}//保护方法
protected voidtest() {
System.out.println("保护方法");
}//私有方法
private voidmymethod(){
System.out.println("私有方法");
}
}
这个时候也许我们之前的代码就会报错了。首先我们看看Run类:如下图
所有的私有属性和方法都只能在本类中方法所以Run类中访问就会报错。
我们在看看子类Carnivorous中,我们修改eat的方法。