zoukankan      html  css  js  c++  java
  • Java中static与final的用法 hunter

    static

    static意为静态的,但凡被static修饰说明属于类,不属于类的对象。
    加载:static在类加载时初始化(加载)完成。
    可修饰:

    • 内部类
    • 方法
    • 成员变量
    • 代码块

    注意:
    static方法不能兼容this关键字。
    你不能覆盖Java中的静态方法,因为方法覆盖基于运行时的动态绑定,静态方法在编译时使用静态绑定进行绑定。
    虽然可以在子类中声明一个具有相同名称和方法签名的方法,看起来可以在Java中覆盖静态方法,但实际上这是方法隐藏。

    final

    加载:final可以在编译(类加载)时初始化,也可以在运行时初始化,初始化后不能被改变。
    可修饰:类、内部类、方法、成员变量、局部变量、基本类型、引用类型。

    • final修饰基本类型:值不能被修改
    • final修饰引用类型:引用不可以被修改也就是说不能指向其他对象,但是该引用的对象内容可以被修改
    • final修饰方法,方法不可以重写,但是可以被子类访问,前提是方法不是private类型
    • final修饰类,类不可以被继承

    static final

    可修饰:成员变量、方法、内部类。

    • 成员变量:属于类的变量且只能赋值一次
    • 方法:属于类的方法且不可以被重写
    • 内部类:属于外部类,且不能被继承
  • 相关阅读:
    转载 :sql server 2005 无法删除数据库 "#Test",因为该数据库当前正在使用
    leetcode 1
    leetcode 2
    leetcode 242
    leetcode171
    leetcode 122
    leetcode 100
    算法:号码转换问题
    2014年10月29日 00:23 长沙
    算法:poj1066 宝藏猎人问题。
  • 原文地址:https://www.cnblogs.com/hunter-w/p/15625949.html
Copyright © 2011-2022 走看看