java的final类
当前位置:以往代写 > JAVA 教程 >java的final类
2019-06-14

java的final类

java的final类

假如说整个类都是final(在它的界说前冠以final要害字),就表白本身不但愿从这个类担任,可能不答允其他任何人采纳这种操纵。换言之,出于这样或那样的原因,我们的类必定不需要举办任何改变;可能出于安详方面的来由,我们不但愿举办子类化(子类处理惩罚)。
除此以外,我们或者还思量到执行效率的问题,并想确保涉及这个类各工具的所有动作都要尽大概地有效。如下所示:
 

//: Jurassic.java
// Making an entire class final

class SmallBrain {}

final class Dinosaur {
  int i = 7;
  int j = 1;
  SmallBrain x = new SmallBrain();
  void f() {}
}

//! class Further extends Dinosaur {}
// error: Cannot extend final class 'Dinosaur'

public class Jurassic {
  public static void main(String[] args) {
    Dinosaur n = new Dinosaur();
    n.f();
    n.i = 40;
    n.j++;
  }
} ///:~

留意数据成员既可以是final,也可以不是,取决于我们详细选择。应用于final的法则同样合用于数据成员,无论类是否被界说成final。将类界说成final后,功效只是克制举办担任——没有更多的限制。然而,由于它克制了担任,所以一个final类中的所有要领都默认为final。因为此时再也无法包围它们。所以与我们将一个要领明晰声明为final一样,编译器此时有沟通的效率选择。
可为final类内的一个要领添加final指示符,但这样做没有任何意义。

    关键字:

在线提交作业