• 面向对象-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

  • 相关阅读:
    Activity
    清晰易懂TCP通信原理解析(附demo、简易TCP通信库源码、解决沾包问题等)
    Android-- FragmentStatePagerAdapter分页
    使用NServiceBus开发分布式应用
    SOA、ESB、NServiceBus、云计算 总结
    ESB简介及选型(转) http://www.cnblogs.com/skyme/archive/2012/08/06/2623414.html
    C# 版dll 程序集合并工具
    83款 网络爬虫开源软件
    13个.Net开源的网络爬虫
    IE6浏览器的bug问题及相关解决的方法
  • 原文地址:https://www.cnblogs.com/yinzhengjie2020/p/12234829.html
Copyright © 2020-2023  润新知