标签:vat 修饰符 ima isp 效率 不能 分享 ide 修改
1、定义为final的方法不能被重写。
a、将方法定义为final类型可以防止子类修改该类的定义与实现方式,同时定义为final方法的执行效率要高于非final方法。
b、如果一个父类的某个方法值为private修饰符,则定义为private的方法隐式被指定为final类型,这样无须将一个定义为private的方法在定义为final类型。
c、例如下面的语句(存在画蛇添足的情况):
private final void test(){
. ..//省略一些程序代码
}
例子11.6
1 package com.lzw; 2 3 class Parents{ 4 private final void doit() { 5 System.out.println("父类.doit()"); 6 } 7 final void doit2() { 8 System.out.println("父类.doit2()"); 9 } 10 public void doit3() { 11 System.out.println("父类.doit3()"); 12 } 13 } 14 15 class Sub extends Parents{ 16 public final void doit() { //在子类中定义一个doit()方法 17 System.out.println("子类.doit()"); 18 } 19 20 // final void doit2() { 21 // System.out.println("子类.doit2()"); 22 // } 23 24 public final void doit3() { //在子类中定义一个doit()方法 25 System.out.println("子类.doit3()"); 26 } 27 } 28 29 public class FinalMethod { 30 public static void main(String[] args) { 31 Sub s = new Sub(); 32 s.doit(); //调用doit()方法 33 34 Parents p = s; //执行向上转型 35 // p.doit(); //不能调用private方法 36 p.doit2(); 37 p.doit3(); 38 } 39 }
标签:vat 修饰符 ima isp 效率 不能 分享 ide 修改
原文地址:https://www.cnblogs.com/studycode/p/9534931.html