zoukankan      html  css  js  c++  java
  • 11.3 final方法

    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 }
    View Code

  • 相关阅读:
    2016/11/2
    2016/11/1
    bzoj 3809: Gty的二逼妹子序列
    bzoj 1207: [HNOI2004]打鼹鼠
    bzoj 1191: [HNOI2006]超级英雄Hero
    BZOJ 1854: [Scoi2010]游戏
    BZOJ 1296: [SCOI2009]粉刷匠
    BZOJ 1787: [Ahoi2008]Meet 紧急集合
    tarjan算法
    高级的暴力(一)——分块
  • 原文地址:https://www.cnblogs.com/studycode/p/9534931.html
Copyright © 2011-2022 走看看