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固定。

写法规范:常量所有字母都大写,多个单词,中间用 _ 连接。

时间: 2024-10-24 02:10:18

Java学习个人备忘录之关键字final的相关文章

java学习笔记之面向对象static,final关键字

java学习笔记之面向对象static,final关键字 一.static关键字 1.概述: static静态的,被static修饰的成员属于类,不属于单个对象,被所有对象所共享,存在静态区中,静态的成员优先于对象加载到内存中. 2.statc修饰成员的使用方式:(被static修饰的成员变量有默认值) /* 1.可以通过对象直接使用,不推荐使用 2.通过类名调用静态成员 类名.静态成员变量 类名.静态成员方法 */ 3.static的特点 /* 1.在同一个类中,静态成员只能访问静态成员,非静

Java学习资料-标识符、关键字

1.标识符 (1)Java对各种变量.方法和类等要素命名时使用的字符序列称为标识符.凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则. (2)Java标识符命名规则: 标识符由字母.下划线.美元符或数字组成. 标识符应以字母.下划线.美元符开头. 标识符大小写敏感,长度无限制. (3)不成文规定:Java标识符选取应注意见名知意且不能与Java语言的关键字重名. 标识符举例: 合法标识符 非法标识符 HelloWorld class DataClass         DataClass#

java学习(六)面向对象 final关键字

1.被fnial修饰的方法不能被重写,常见的为修饰类,方法,变量 /* final可以修饰类,方法,变量 特点: final可以修饰类,该类不能被继承. final可以修饰方法,该方法不能被重写.(覆盖,复写) final可以修饰变量,该变量不能被重新赋值.因为这个变量其实常量. 常量: A:字面值常量 "hello",10,true B:自定义常量 final int x = 10; */ //final class Fu //无法从最终Fu进行继承 class Fu { publi

Java学习个人备忘录之接口

abstract class AbsDemo { abstract void show1(); abstract void show2(); } 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示-----接口  interface 定义接口使用的关键字不是class,是interface. 对于接口当中常见的成员:而且这些成员都有固定的修饰符1. 全局常量:public static final2. 抽象方法:public abstract 由此得出结论,接口中的成员

JAVA学习第九课(关键字二static)

关键字二. static(静态) 特点: static 用于修饰成员(成员函数和成员函数) static的存在,优先于对象存在,随着类的加载而加载 static所修饰的成员,被所有对象共享 static可以直接被类名调用,格式:System.out.println(Person.country);:类名.静态成员 使用细节 静态方法只能访问静态成员,即static修饰的成员,static int data; 静态方法不可以写this.super:this代表着当前调用该方法的对象. 主函数(ma

Java学习个人备忘录之面向对象概念

对象,其实就是该类事物实实在在存在的个体. 类与对象之间的关系?类:一类事物的描述.对象:该类事物的实例.在java中通过new来创建的.举例来说,类就是汽车说明书,类只能在理论上造一辆汽车,并且这个说明书非常明确的写了汽车有哪些部件.可以干什么等等信息,我们可以通过这个说明书(类)得知这辆车全方位的信息:对象就是按照这个说明书造出来的一辆汽车实体,是真实存在的,可以开走的. 下面我们用类描述一辆小汽车: 分析:1,属性轮胎数.颜色.2,行为运行. 定义类其实就是在定义类中的成员成员:成员变量就

Java学习5——标识符和关键字

标识符: 1.Java对各种变量.方法和类等要素命名时使用的字符串序列称为标识符.凡是自己可以起名字的地方都叫标识符,都要遵守标识符的规则. 2.Java标识符命名规则: 标识符由字母.下划线"_".美元符$或数字组成. 标识符应以字母.下划线.美元符开头. Java标识符区分大小写.长度无限制. Java标识符选取应注意"见名知意"且不能与Java的关键字重名. 关键字: 1.Java中一些赋予特定的含义,用作专门用途的字符串成为关键字(keyword).2.所有

JAVA学习第九课(关键字一)

关键字: this 关键字 this 使用一: 直接以代码解释: class Man { private int age; private String name; Man() { name= null;age = 0; } Man(String n)//正常直接打印"BLF,0",但是把n改为name呢,就会打印null,0 { name = n; }//改成name虽然增加了阅读性,但是参数名进栈时,栈区已经有了一个局部变量名name, 那么name的赋值,只会把自己赋值给自己.如

Java学习个人备忘录之异常

概述 异常:是在运行时期发生的不正常情况. 在java中用类的形式对不正常情况进行了描述和封装对象. 描述不正常的情况的类,就称为异常类. 以前正常流程代码和问题处理代码相结合,现在将正常流程代码和问题处理代码分离,提高阅读性. 其实异常就是java通过面向对象的思想将问题封装成了对象. 用异常类对其进行描述.不同的问题用不同的类进行具体的描述. 问题很多,意味着描述的类也很多.将其共性进行向上抽取,形成了异常体系. 最终问题(不正常情况)就分成了两大类 Throwable:无论是error,还