JAVA_SE基础——59.权限访问修饰符

了解了包的概念,就可以系统的介绍Java中的访问控制级别。在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private、default、protected和public。

权限访问修饰符(权限从大到小依次往右排)
  public(公共) protected(受保护) default(缺省) private(私有)
同一个类
同一个包 ×
子父类 × ×
不同包 × × ×

public 和 private 在这里我就不一一介绍了,想必大家比我还熟悉了吧。

还有protected和default 在同一个类中  我也不验证了(因为最小权限的private都可以在同一个类中互相访问,这两个也肯定可以了)

验证protected修饰的属性 在同一个包能不能被访问。:

package d;
class Demo7 {

		protected int a = 1 ;

}
package d;
public class Demo8 {
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}

运行结果:

能访问的到!

验证default(缺省)修饰的属性
在同一个包能不能被访问。:

package d;
class Demo7 {
	int a = 1 ;
}
package d;
public class Demo8 {
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}

运行结果:

能访问的到!

验证protected修饰的属性 在子父类中能不能被访问。:

package d;
class Demo7 {
	protected int a = 1 ;
}
package d;
public class Demo8 extends Demo7 {
	public static void main(String[] args) {
		Demo8 z = new Demo8();
		System.out.println("a="+z.a);
	}
}

运行结果:

能访问的到!

验证default(缺省)修饰的属性
在子父类中能不能被访问。:

package d;
class Demo7 {
	int a = 1 ;
}
package e;
import d.*;
public class Demo8 extends Demo7 {
	public static void main(String[] args) {
		Demo8 z = new Demo8();
		System.out.println("a="+z.a);
	}
}

运行结果:

不能访问的到!

验证protected修饰的属性
在不同包中能不能被访问。:

package d;
class Demo7 {
	protected int a = 1 ;
}
package e;
import d.*;
public class Demo8{
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}

运行结果:

不能访问的到!

验证default(缺省)修饰的属性
在不同包中能不能被访问。:

package d;
class Demo7 {
	int a = 1 ;
}
package e;
import d.*;
public class Demo8{
	public static void main(String[] args) {
		Demo7 z = new Demo7();
		System.out.println("a="+z.a);
	}
}

运行结果:

不能访问的到!

交流企鹅:654249738,和自学者交流群:517284938

时间: 2024-10-05 10:34:23

JAVA_SE基础——59.权限访问修饰符的相关文章

权限访问修饰符

/* * * 实现结果证明了一件事情: * * 关于权限访问修饰符: * * 首先 * * 总的原则:只有当类可以访问的时候才考虑成员的访问权限问题,类不可以访问的时候,成员自然也不可以访问. * * * 类的访问修饰符 : 默认.public * * 默认: 只允许同一个子包中的类对其进行访问,位于不同包中的类,即使使用完全限定名称,也无法访问这个类 *  public: 突破了包的封装,允许不同包中的类对其进行访问,但访问时需要使用完全限定名称 * * 注意:除非是类A和类B是位于同一个包中

JAVA 中的权限访问修饰符(public,protected,default,private )

JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什么也没写,默认为default.当然也可以显式得给出default权限 default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限. 2.public: 接口访问权限 public修饰的属性和方法对每个类都是可见的 3.private:类内访问权限

Solidity 基础知识之访问修饰符

pragma solidity ^0.4.24; //属性,函数,访问修饰符 //属性的默认访问修饰符是 internal, 函数的默认访问符是 public contract AttrFnDemo{ uint16 private _age;//private 仅仅当前合约可以访问 string internal _name;//internal 仅仅当前合约和当前合约的子合约可以访问 int public _num;// 外部可以调用 //函数名与合约名称相同,则此函数为构造函数 functi

[基础重温]C#访问修饰符

public 同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员.  private 只有同一类或结构中的代码可以访问该类型或成员.  protected 只有同一类或结构或者此类的派生类中的代码才可以访问的类型或成员.  internal 同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以.  protected internal  由其声明的程序集或另一个程序集派生的类中任何代码都可访问的类型或成员.  从另一个程序集进行访问必须在类声明中发生,

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用

1.27 Java基础总结 ①访问修饰符访问权限②类和方法的基本声明和使用 成员变量(属性)①类中添加成员变量 访问修饰符 类型 变量名 private String name ②实例化对象调用类的构造方法类构造对象,Teacher one = new Teacher(): 有static的可以直接调用,因为static是类级别的 ③JavaBean里边一般规则应该有公共的无参构造应该有符合命名规范的get/set方法 ④对象的回收:没有任何引用指向该对象时,GC会回收 主动回收:对象 = nu

C# 基础(一) 访问修饰符、ref与out、标志枚举等等

C# 基础(一) 访问修饰符.ref与out.标志枚举等等 一.访问修饰符 在C#中的访问修饰符有:private.protected.internal.public public:公共类型,同一程序集或其他程序集都可以访问此成员 private:私有类型,同一类里或结构里才可以访问此成员 protected:保护类型,同一类里或者派生类中才可以访问此成员 internal:内部类型,只有在同一程序集才可以访问此成员 访问性不一致:子类的访问权限不能比父类高.防止暴露父类的信息.. 二.stat

20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)

1:C#中的访问修饰符 public: 公共成员,完全公开,没有访问限制. private: 私有的,只能在当前类的内部访问. protected: 受保护的,只能在当前类的内部以及该类的子类中访问. internal: 只能在当前项目中访问,在同一个项目中,internal和public的权限是一样的. protected internal: protected + internal权限. 1.1:能够修饰类的访问修饰符只有两个: public / internal 1.2:接口中的成员不允许

蓝鸥Unity开发基础二——课时3 访问修饰符

[蓝鸥Unity开发基础二]课时3 访问修饰符 一.访问修饰符 public --公共的,在哪里都能用 private  --私有的,只能够在当前机构体重使用,其他任何地方都不能 访问修饰符举例说明 using System; namespace Lesson_03{           struct Point2{        //public--公共的,在哪里都能用        public float x;        //private  --私有的,只能够在当前机构体重使用,其他

C#基础知识八之访问修饰符

1.  类的访问修饰符 修饰符 访问权限 无或者internal 只能在同一个程序集中访问类 public 同一个程序集或引用该程序集的外部都可访问类 abstract或internal abstract 只能在同一程序集中访问类,且该类不能被实例化,只能被继承 public abstract  同一个程序集中或引用该程序集的其他程序集都可访问类,不能被实例化,只能被继承 sealed或internal sealed  只能在同一程序集中访问类,该类不能被继承,只能把实例化 public sea