四种权限修饰符的测试
/* 权限修饰符: 本类 同一个包下(子类和无关类) 不同包下(子类) 不同包下(无关类) 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(){} }