java访问修饰符

时间:2021-06-02 21:06:47

一、访问修饰符的介绍

信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因。信息隐藏的原因包括:(1)对任何实现细节所作的更改不会影响使用该类的代码,(2)防止用户意外删除数据。访问修饰符使用的关键字有三个:private(私有) ,protected(保护),public(公共)。他们既可以修饰属性,也可以修饰方法。还有一个就是默认修饰符,就是属性或者方法前面不添加任何访问修饰符,它们的功能如下:

private:只有该类可以访问

protected:该类及其子类的成员可以访问,同一个包中的类也可访问

public:该类或非该类均可访问

默认:相同数据包中的类可以访问

列一个表看起来更加清晰:

java访问修饰符

二、示例

我们现在可以把类修改一下,定义几个使用不同修饰符的属性和方法。

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类:如下图

java访问修饰符

所有的私有属性和方法都只能在本类中方法所以Run类中访问就会报错。

我们在看看子类Carnivorous中,我们修改eat的方法。

 

java访问修饰符