java访问修饰符

二、java中的访问修饰符(访问权限)

访问修饰符 本类 同包 子类 其他
private × × ×
默认 × ×
protected ×
public
  • 1、外部类不能直接使用内部类的成员变量和方法,可以通过先创建内部类的对象,然后通过内部类的实例对象来访问其成员变量和方法;

  • 2、如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的的成员变量或方法,如果访问外部类的成员变量,可以使用 this.成员变量名 或者 this.方法() 来访问;

  • 3、java中的静态内部类

  • (1)静态内部类不能直接访问外部的非静态成员,但可以通过new 外部类().成员的方式访问;

  • (2)如果外部类的静态成员与内部类的成员名称相同,可以通过类名.静态成员的方式访问;如果外部类的静态成员与内部类的成员名称相同,则可以通过成员名直接调用外部类的静态成员;

  • (3)创建静态内部类的对象时,不需要外部类的对象,可以直接创建内部类:对象名 = new 内部类();

  • 访问权限:

  • 当用某个类在另外一个类中创建对象后,如果不希望该类对象直接访问自己的变量(即不能直接通过“.”运算符来操作自己的成员变量),就应当将成员变量访问权限设置为private;

原文地址:https://www.cnblogs.com/caoleiCoding/p/8903682.html