Java中final关键字的用法
2015-10-01 00:09
495 查看
Java关键字final有“最终”的意思,也可以称为完结器,可以用来声明类、属性和方法,当然被修饰类、属性和方法都必须是非抽象类的
一. final声明类
使用final声明的类不能有子类,不能被继承,可以形象地成为太监类。Java中String类就是final类型的。
需要注意的是:final类中的成员方法默认为final类型的
二.final声明方法
final声明的方法不能被覆写,但可以被继承。注意:类的private方法默认为final方法,所以private方法不能被覆写
如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final
下面是final方法被继承的例子:
三.final声明变量
用final修饰的成员变量表示常量,一旦给final变量初始化后,值就不能再改变了,需要注意的是常量所有字母都必须大写。如果final修饰的是引用类型的变量,则其初始化后引用不会再发生改变,但是可以改变引用指向的值
四.static final声明全局常量
使用static final 关键字联合声明的变量称为全局常量
定义格式:public static final String NAME = "Jack";
参考链接:
http://lavasoft.blog.51cto.com/62575/18771/ http://www.cnblogs.com/dolphin0520/p/3736238.html
一. final声明类
使用final声明的类不能有子类,不能被继承,可以形象地成为太监类。Java中String类就是final类型的。
final class A{ } class B extends A{ }
需要注意的是:final类中的成员方法默认为final类型的
二.final声明方法
final声明的方法不能被覆写,但可以被继承。注意:类的private方法默认为final方法,所以private方法不能被覆写
如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final
class A{ public final void print(){ System.out.println("Hello"); } } class B extends A{ public void print(){ System.out.println("World"); } }
下面是final方法被继承的例子:
class A{ public final void print(){ System.out.println("Hello"); } } class B extends A{ } public class FinalDemo{ public static void main(String[] args){ B b = new B(); b.print(); } }
三.final声明变量
用final修饰的成员变量表示常量,一旦给final变量初始化后,值就不能再改变了,需要注意的是常量所有字母都必须大写。如果final修饰的是引用类型的变量,则其初始化后引用不会再发生改变,但是可以改变引用指向的值
class Person{ public final int NUM = 1; public Person(){ NUM = 2; final Object obj = new Object(); obj = new Object(); } }
四.static final声明全局常量
使用static final 关键字联合声明的变量称为全局常量
定义格式:public static final String NAME = "Jack";
参考链接:
http://lavasoft.blog.51cto.com/62575/18771/ http://www.cnblogs.com/dolphin0520/p/3736238.html
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- AnyDVD & AnyDVD HD v6.1.3.3 Final 多国语言版 下载
- 暴风影音II V2.4 Final 【万能播放器】下载
- asp下查询xml的实现代码
- SQL语句的各个关键字的解析过程详细总结
- PostgreSQL ERROR: invalid escape string 解决办法
- C# 的关键字详细介绍
- C# 参考之访问关键字:base、this
- .net(c#)中的new关键字详细介绍
- C#基础语法:Base关键字学习笔记
- 深入分析C++中几个最不常用的关键字
- 详谈signed 关键字
- 探讨register关键字在c语言和c++中的差异
- 浅谈C++中的string 类型占几个字节