Java final关键字特点
2024-08-29 13:46:53
一、特点
1、由于继承,方法可以重写,所以父类的功能就会被子类覆盖
2、有时候我们不想子类覆盖父类的功能,这时候我们可以使用final关键字
3、final可以修饰:类、变量,方法。
4、final修饰类,该类不能被继承
5、final修饰变量,该变量不能被修改,因为这个变量是常量了
6、final修饰方法,该方法不能被重写
二、案例分析
package finals;
/**
* final关键字,案例1
* @author zhongfg
* @date 2015-06-16
*/
class Fu { public final int num = 10;
public final void secretMethod() {
System.out.println("这里是绝密文件,不能修改");
} public void show(){ }
} class Zi extends Fu { // 报错,final修饰的方法不能重写
/*public void secretMethod() {
System.out.println("我就是要修改,怎么的");
}*/ public void show() {
// num = 100; 报错,final修饰的变量不能被修改
System.out.println(num);
}
} public class FinalDemo { public static void main(String[] args) { Fu fu = new Zi();
fu.secretMethod();
fu.show();
}
} 运行结果:
这里是绝密文件,不能修改
10
package finals;
/**
* 面试题:final修饰局部变量问题
* 基本类型:
* 基本类型的值不能改变
* 引用类型:
* 引用类型的地址值不能改变,但是该对象的堆内存地址值可以改变
* @author zhongf
* @date 2015-06-16
*/
class Student { int num = 10;
} public class FinalInterview { public static void main(String[] args) { //局部变量是基本数据类型
int x = 1;
x = 2;
System.out.println(x); final int y = 3;
// y = 4; 报错,无法为最终变量赋值
System.out.println(y); System.out.println("---------------"); //局部变量是引用数据类型
Student s = new Student();
s.num = 20;
System.out.println(s.num); final Student ss = new Student();
ss.num = 30;
System.out.println(ss.num); // ss = new Student(); 报错,无法为最终变量赋值
}
} 运行结果:
2
3
---------------
20
30
最新文章
- Git远程和分支管理
- javascript实现数据结构与算法系列:线性表的静态单链表存储结构
- VIM的配置文件(vimrc)在哪里?【Win7】
- install webapp2 on Linux outside google app engine.
- Winsock SPI-Socks5-SSL
- ECMAScript 6 proxies
- VMware安装Linux,系统分区。
- ios知识点总结——UITableView的展开与收缩及横向Table
- Redis的数据结构、通用操作及其特性
- 批量镜像locator(比如表情模板)
- Foundry feats. MultiverseStudio
- java 变量 final 小结
- 访问 Confluence 6 的计划任务配置
- 【转】单片机HEX文件完全解读
- ASP.NET MVC Action返回结果类型【转】
- 【Android】接入有米广告SDK
- Swift 高级运算符
- 【bzoj1609】[Usaco2008 Feb]Eating Together麻烦的聚餐 dp
- C# 接口慨述
- tomcat+java 占cpu 调试【top命令应用】
热门文章
- 【Mybatis】未封装返回结果的字段自己返回值的问题
- virtualenv 和apache 搭建django时注意事项
- DotNetBrowser入门教程(更新完善中)
- 2017.6.30 安装IDEA的插件mybatis plugin(破解版)
- 转:阿里 Weex 思路与实战(web相关)
- C++003基础
- Android 创建Listener监听器形式选择:匿名内部类?外部类?
- git merge 和 git rebase 小结(转)
- Hbase笔记3 shell命令
- windows 网站迁移到linux