zoukankan      html  css  js  c++  java
  • 面向对象-final关键字

                   面向对象-final关键字

                                 作者:尹正杰

    版权声明:原创作品,谢绝转载!否则将追究法律责任。

     

     

     

    一.final关键字概述

      继承的弊端就是打破了封装性,如果而已继承并进行不正确的覆盖,会导致原功能的错误。

      final作为一个修饰符:
        final可以修饰类,方法,变量;
        final修饰的类不可用被继承;
        final修饰的方法不可以被覆盖;
        final修饰的变量时一个常量,只能被赋值一次。

      什么时候将变量修饰为final呢?
        针对程序中的一些不会发生变化的数据,也就是常量,例如3.1415926。直接使用这个值不利于阅读,所以一般情况下,都会给概述起一个容易阅读的名称,如"final double PI = 3.1415926;"

    二.final关键字实战案例

    package cn.org.yinzhengjie.extemdPackage;
    
    /**
     *     定义父类
     * @author 尹正杰
     *
     */
    public class Father {
        final double PI = 3.1415926;
        
        final void sayHello() {
            System.out.println("Father sayHello...");
        }
    }
    Father.java
    package cn.org.yinzhengjie.extemdPackage;
    
    /**
     *     定义子类
     * @author 尹正杰
     *
     */
    public class Son extends Father {
        
        /*
         * 由于Son的父类对sayHello方法用final关键字修饰,因此子类无法进行覆盖(override)操作
         */
    //    void sayHello() {
    //        System.out.println("Son sayHello...");
    //    }
        
        void showMe() {
            System.out.println("Son showMe...");
        }
    }
    Son.java
    package cn.org.yinzhengjie.extemdPackage;
    
    /**
     *     测试继承类
     * @author 尹正杰
     */
    public class ExtendDemo {
        
        public static void main(String[] args) {
            Son son = new Son();
            son.sayHello();
            son.showMe();
            System.out.println(son.PI);
        }
        
    }
    ExtendDemo.java

  • 相关阅读:
    idoc 和 bapi 和 rfc 之间的区别
    ABAP--如何在ALV_Grid的函数中定义下拉列表
    ABAP
    关于SAP的视图类型
    程序中条用其他程序中已经存在的PERFORM
    通过SMATFORMS打印程序的参考模板
    字号尺寸大小对照表
    ubuntu 没有桌面 没有图标,只剩下壁纸
    latex ctex 的section不能写中文, /href
    System Verilog的概念以及与verilog的对比
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12234829.html
Copyright © 2011-2022 走看看