访问权限控制简介

Java 中一共有四种访问权限控制,其权限控制的大小:

public > protected > default(包访问权限) > private 

访问权限修饰符当前类同一包内的类子类同一包中的子类不同包中的子类
public✔️✔️✔️✔️✔️
protected✔️✔️✔️✔️
默认✔️✔️
private✔️

1、public(共有): 所修饰的类、变量、方法,在内外包均具有访问权限;
2、protected(受保护): 为继承而设计的,protected所修饰的成员,对所有子类是可访问的但只对同包的类是可访问,对外包的非子类是不可以访问;
3、友好(default,又名包访问权限): 只对同包的类具有访问的权限,其他包的所有类都不能访问;
4、private( 私有权限): 只对本类的方法可以使用;
 

访问权限的作用:

  1.   提高代码的灵活性。

  2.   使用户碰触不到不该碰触的部分;开发者可以更改类的内部工作的方式,而不会担心这样会对用户产生重大影响;

举例说明

public class Animal {
    private static final String CATEGORY = "Animal";

    protected String name;
    protected int age;

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void eat() {
        System.out.println(name + " is eating");
    }

    private void sleep() {
        System.out.println(name + " is sleeping");
    }

    public static void main(String[] args) {
        Animal animal = new Animal("Tom", 5);
        animal.eat();  // 可以访问公共方法
        animal.sleep();  // 私有方法只能在同一类中访问

        System.out.println(CATEGORY);  // 可以访问静态常量
    }
}

定义了一个Animal类。它具有私有的name和age变量,protected的eat方法和私有的sleep方法。我们还定义了一个公共的静态常量CATEGORY。在main方法中,我们创建了一个Animal对象,并展示了不同访问权限和修饰符的使用。

这个例子展示了如何在Java中使用不同的访问权限和修饰符来控制访问和可见性,以及如何利用它们来实现封装和安全性。

posted on 2019-04-25 09:38  vow007  阅读(8)  评论(0编辑  收藏  举报  来源