10-04 Java 权限修饰符,类及其组成常见的修饰符

四种权限修饰符的测试

/*
    权限修饰符:
                    本类    同一个包下(子类和无关类)    不同包下(子类)    不同包下(无关类)
        private     Y        
        默认         Y        Y
        protected   Y        Y                            Y
        public      Y        Y                            Y                Y
*/
package com.liuyi;

public class Father {
    private void show() {
        System.out.println("show");
    }
    
    void show2() {
        System.out.println("show2");
    }
    
    protected void show3() {
        System.out.println("show3");
    }
    
    public void show4() {
        System.out.println("show4");
    }
    
    public static void main(String[] args) {
        Father f = new Father();
        f.show();
        f.show2();
        f.show3();
        f.show4();
    }
}

类及其组成常见的修饰符

/*
    修饰符:
        权限修饰符:private,默认的,protected,public
        状态修饰符:static,final
        抽象修饰符:abstract
        
    类:
        权限修饰符:默认修饰符,public
        状态修饰符:final
        抽象修饰符:abstract
        
        用的最多的就是:public
        
    成员变量:
        权限修饰符:private,默认的,protected,public
        状态修饰符:static,final
        
        用的最多的就是:private
        
    构造方法:
        权限修饰符:private,默认的,protected,public
        
        用的最多的就是:public
        
    成员方法:
        权限修饰符:private,默认的,protected,public
        状态修饰符:static,final
        抽象修饰符:abstract
        
        用的最多的就是:public
        
    除此以外的组合规则:
        成员变量:public static final
        成员方法:public static 
                  public abstract
                  public final
        
*/
//此处不允许使用修饰符private
//此处不允许使用修饰符protected
//此处不允许使用修饰符static
public class Demo {
    //成员变量
    private int x = 10;
    int y = 20;
    protected int z = 30;
    public int a = 40;
    public final int b = 50;
    public static int c = 60;
    public static final int d = 70;
    //此处不允许使用修饰符abstract
    //abstract int e = 80;
    
    //构造方法
    private Demo(){}
    
    Demo(String name){}
    
    protected Demo(String name,int age) {}
    
    public Demo(String name,int age,String address) {}
    
    //此处不允许使用修饰符static
    //public static Demo(){}
    //此处不允许使用修饰符final
    //public final Demo() {}
    //此处不允许使用修饰符abstract
    //public abstract Demo(){}
    
    //成员方法
    //static void show() {}
    //abstract void show();
    //final void show(){}
}
原文地址:https://www.cnblogs.com/baiyangyuanzi/p/6831178.html