final和static

final:
  • 被final修饰的常量,该常量只能被初始化一次,之后再也不能更改它的值。
  • 被final修饰的方法,该方法不能被子类覆盖。
  • 被final修饰的对象引用只能指向一个对象,不可以将它再指向其他对象,但一个对象本身的值是可以改变的。(如果为了一个常量真正做到不被更改,可以将常量声明为static final,static final 修饰的常量是在装载的时候初始化的,也就是说不挂管你运行多少次啊程序它的值都是不会被改变的)
  • 被final修饰的类,该类不可以被继承,被称为最终类。

static:
  • 被static修饰的变量,该类的所有对象共享。
  • 被static修饰的方法:(1)只能被子类继承,不可以被重写。(2)只能访问该类的静态成员以及自身的参数变量和局部变量,该类不能访问非静态的成员。(3)静态方法中不能使用super、this关键字。
  • 被static修饰的类,普通类是不允许声明为静态的,只有内部类才可以。被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。

猜你喜欢

转载自blog.csdn.net/sunnykaty/article/details/79999596
今日推荐