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