Java面向对象_基础02

final关键字

修饰一个类

  • 这个类不能有子类

修饰一个方法

  • 这个方法不能被子类覆盖重写

修饰一个局部变量

  • 一次赋值,终生不变

修饰一个成员变量

  • 必须手动赋值

四种权限修饰符

  public protected (default) private
同一个类(我自己)
同一个包(邻居) ×
不同包子类(我儿子) × ×
不同包非子类(陌生人) × × ×

定义类时权限修饰符规则

  • 外部类:public、(default)

  • 成员内部类:public、protected、(default)、private

  • 局部内部类:什么都不能写

成员内部类

定义成员内部类

修饰符 class 外部类名称 {
   修饰符 class 内部类名称 {
      ...
  }
  ...
}
  • 注意:内用外随意访问,外用内,需要内部类对象。

使用成员内部类

  • 间接方式:在外部类的方法中,使用内部类;然后mian方法只是调用外部类方法

  • 直接方式:公式:

外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();

内部类同名变量的访问

  • 在内部类访问外部类的同名变量

外部类.this.变量名

局部内部类

修饰符 class 外部类名称 {
   修饰符 返回值类型 外部类方法名(参数列表) {
       class 局部内部类名称 {
          ...
      }
  }
}
  • 局部内部类如果希望访问所在方法的局部变量,那么这个局部变量必须是final

匿名内部类

接口名称 对象名 = new 接口名称() {
   //重写所有抽象方法
};

猜你喜欢

转载自www.cnblogs.com/zzllll/p/12905722.html