26.1 包和权限修饰符

/*
* 权限修饰符:
public(公共) 当前类,相同包下不同的类,不同包下的
protected(受保护) 当前类,相同包下不同的类,不同包下的子类
default(默认) 当前类,相同包下不同的类
private(私有) 当前类

default:当前包下使用
protected:让子类对象使用
*/

public class PermissionsDemo {
    public void publicMethod() {
        System.out.println("publicMethod");
    }

    void defaultMethod() {
        System.out.println("defaultMethod");
    }

    private void privateMethod() {
        System.out.println("privateMethod");
    }

    protected void protectedMethod() {
        System.out.println("protectedMethod");
    }

    public static void main(String[] args) {
        PermissionsDemo p = new PermissionsDemo();
        p.publicMethod();
        p.protectedMethod();
        p.defaultMethod();
        p.privateMethod();
    }
}

输出

2.不同类私有方法报错

3.不同包除了public都报错,使用继承父类后子类可以使用受保护的方法

package day26_package包.权限测试2;

import day26_package包.权限测试.PermissionsDemo;

public class PermissionsDemo2 extends PermissionsDemo {
    public void fun() {
        super.publicMethod();
        super.protectedMethod();
    }
    
    public static void main(String[] args) {
        PermissionsDemo2 p = new PermissionsDemo2();
        p.fun();
    }
}

输出

猜你喜欢

转载自www.cnblogs.com/longesang/p/11239810.html
今日推荐