Java学习个人备忘录之关键字final
final关键字
final可以修饰类,方法,变量。
final修饰的类不可以被继承
final修饰的方法不可以被覆盖
final修饰的变量是一个常量。只能被赋值一次。
内部类只能访问被final修饰的局部变量。
class Fu
{
void method()
{
//调用了底层系统的资源
}
} class Zi extends Fu
{
void method()
{
System.out.println("haha");
}
}
从上面可以看出继承是有弊端的,就是打破了封装性。
这时我们就可以用final关键字,不让别人继承,如下:
final class Fu
{
void method()
{
//调用了底层系统的资源
}
} class Zi extends Fu
{
void method()
{
System.out.println("haha");
}
}
//这样在编译的时候就会报错。
final的初始化
final的初始化并不是固定初始化,而是显式初始化。
int x; 这样写后,x会被初始化为0。
但是如果是
final int x;  这样编译就会报错。 因为它不支持固定初始化
通常情况下 有final就会有static修饰符
static final int x = 8;
因为加了final就意味着他会被共享。
为什么要用final修饰变量。 其实在程序中如果一个数据是固定的,
那么直接使用这个数据就可以了,但是这样阅读性差,所以它给数据起个名字。
而且这个变量名称的值不能变化,所以加上final固定。
写法规范:常量所有字母都大写,多个单词,中间用 _ 连接。
Java学习个人备忘录之关键字final的更多相关文章
- Java学习个人备忘录之关键字static
		被static标记的东西会放在内存中被共享的,对象用到时,就会来取的. class Person { String name; //成员变量,实例变量 static String country = ... 
- java学习(六)面向对象  final关键字  多态
		1.被fnial修饰的方法不能被重写,常见的为修饰类,方法,变量 /* final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承. final可以修饰方法,该方法不能被重写.(覆 ... 
- java提高篇(十五)-----关键字final
		在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候final就有用武之地了.final是java的关键字,它所表示的是“这部分是无法修改的”.不想被改变的原因有两个:效率.设计.使用到fi ... 
- Java学习个人备忘录之接口
		abstract class AbsDemo { abstract void show1(); abstract void show2(); } 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类 ... 
- Java学习5——标识符和关键字
		标识符: 1.Java对各种变量.方法和类等要素命名时使用的字符串序列称为标识符.凡是自己可以起名字的地方都叫标识符,都要遵守标识符的规则. 2.Java标识符命名规则: 标识符由字母.下划线&quo ... 
- Java学习个人备忘录之多线程
		进程:正在进行中的程序(直译). 线程:就是进程中一个负责程序执行的控制单元(执行路径) 一个进程中可以有多个执行路径,称之为多线程. 一个进程中至少要有一个线程. 开启多个线程是为了同时运行多部分代 ... 
- Java学习个人备忘录之异常
		概述 异常:是在运行时期发生的不正常情况. 在java中用类的形式对不正常情况进行了描述和封装对象. 描述不正常的情况的类,就称为异常类. 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问 ... 
- Java学习个人备忘录之抽象类
		抽象类 特点:1. 方法只有声明没有实现时,该方法就是抽象方法,需要被abstract修饰,抽象方法必须定义在抽象类中.该类必须也被abstract修饰2. 抽象类不可以被实例化. 为什么? 因为调 ... 
- Java学习个人备忘录之面向对象概念
		对象,其实就是该类事物实实在在存在的个体. 类与对象之间的关系?类:一类事物的描述.对象:该类事物的实例.在java中通过new来创建的.举例来说,类就是汽车说明书,类只能在理论上造一辆汽车,并且这个 ... 
随机推荐
- MySQL数据库安装配置步骤详解
			MYSQL的安装 1.打开下载的mysql安装文件mysql-5.5.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Comple ... 
- Mysql存储引擎myisam与inndb的区别?
			最近在研究Mysql存储引擎这块,说白了就是如何存储数据.如何为存储的数据建立索引和如何更新.查询数据等技术的实现方法,在此做一个大概总结: 其实在工作中用的最多也就是MYISAM和INNODB,IN ... 
- delphi 2010以上 安装 第三方控件
			delphi-“can't be installed because it is not a design time package. 一定要先装 dcl*.dpk ----------------- ... 
- 大数据学习--day07(冒泡排序、Arrays工具类、方法可变参数)
			冒泡排序.Arrays工具类.方法可变参数 冒泡排序之前写过,略 Arrays工具类 二分法查询 public static int binarySearch(int[] a,int key) 头信息 ... 
- 基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行结果查询
			一.Geomesa - QuickStart(教程工程包) 百度网盘下载地址:geomesa-tutorials-master.7z 二.解压后,IDEA编译如下 百度网盘下载地址:IDEA201 ... 
- 【Android】导航栏(加图片icon)和不同页面的实现(viewpager+tablayout)
			先上图,然后说大致步骤,最后再说细节 图片效果:依序点击导航栏左一.左二.中.右二.右一,最后直接滑动页面(不依靠导航栏切换) 大致步骤如下(文末会有完整代码) [1]创建一个类,我这里取名TabBa ... 
- kubernetes资源清单定义
			apiVersion: v1 #必选,版本号,例如v1,版本号必须可以用 kubectl api-versions 查询到 . kind: Pod #必选,Pod metadata: #必选,元数据 ... 
- 小Hi和小Ho的礼物
			题目:小Hi和小Ho的礼物 注:[i.j.p.q]为下标 个人感觉这道题是有一定难度的.读者可以参考一下[四平方和]的解题思路 分析过程下次补上 代码如下: #include <iostream ... 
- Asp.net core静态文件目录访问
			Asp.net core静态文件目录访问 如果使用Asp.net core来实现一个能够访问其它电脑上的资源 新建工程 选择项目框架 如何将静态文件注入到项目中 在startup.cs文件的Confi ... 
- 成都优步uber司机第三组奖励政策
			今天成都优步又推出了优步司机第三组,第一二组的奖励大家都晓得,但是第三组的奖励怎么样呢?还是先看看官方给出的消息. 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册 ... 
