Java类权限和类成员权限举例解析

public\protected\default\private

类成员权限

Java类权限和类成员权限举例解析_第1张图片
不能用访问权限修饰方法中声明的变量和形式参数(方法中的的作用域只是方法中),方法外不可见。

类权限

default和public(没有protected和private)
同package
在这里插入图片描述

//主程序
public class welcome{
	public static void main(String[] args){
		System.out.println(new testSamePackage().toString());
	}
}
//同一个包内
class testSamePackage {
	public String toString() {
		return "same package default";
	}
}
//输出结果same package default
public class testSamePackage {
	public String toString() {
		return "same package public";
	}
}
//输出same package public

不同package
在这里插入图片描述

import otherPackage.otherPackageDefault;
public class welcome{
	public static void main(String[] args){
		
		System.out.println(new otherPackageDefault().toString());
	}
}
//包外public
package otherPackage;
public class otherPackageDefault {
	public String toString() {
		return "other package public";
	}
}
//输出other package public

包外的otherPackageDefault权限改成默认会报错
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
otherPackageDefault cannot be resolved to a type

总结

类想要直接访问满足:

  1. 和自己在一个package中,无论是否为public
  2. 不在一个package中,必须public

你可能感兴趣的:(权限,类,方法属性,java,数据结构,类)