Java常见关键字辨析:final,static,super,this
一、final
1)修饰class(类):
表示此类不可被继承了
2)修饰method(方法)
表示此方法方法不可被重写(@override)了
3)修饰variable(变量)
表示此变量的值之后不可被改变了,常用于修饰不可变的常量
注:final字面意思是“最后”、“不可更改”的意思,结合意思记忆更方便。
二、static (第二、三法常用)
1)修饰class(类):
(不常用)只可用于修饰内部类,普通类不允许这么声明
2)修饰method(方法)
static方法是属于类所有(对象间共享),而不是某个对象。不需创建对象,可以使用类名进行调用此方法。
(程序执行时,类的字节码被加载到内存中,类没有创建对象时,类变量已经被分配内存,实例变量在创建具体对象时才分配内存空间。)
3)修饰variable(变量)
类似于2),变量是类级别的共享,不需创建对象,但是变量的值的变化是整体性的,也就是说,对象A对某static变量的值进行操作而改变了,那么对象B操作的就是改变后的static变量。
注:使用static修饰的代码块叫做静态代码块,静态代码块在JVM加载类的时候就先被执行了,无论它们被放在什么位置,它们都是先被执行,然后才是正常的代码块被执行。可以有多个静态代码块,它们会依次被JVM按照出现顺序执行,每个代码块只会被执行一次。
静态方法中不能有this和super关键字出现。
三、super:(指对父类的引用)
1)与Class相关(父类,也称超类):
通过super(参数1,参数2,……,参数n),调用父类构造函数;
2)与Method(方法)相关
super.Methord(参数1,参数2,……,参数n)调用父类被重写的方法;
3)与variable(变量)相关
super.variable,调用父类的变量
注:super必须用在子类构造方法的第一行;
当父类没有不带参数的构造方法时,子类需要使用super来显式地调用父类的构造方法,super指的是对父类的引用
四、this:(对当前对象的引用
1)Class相关
this(参数1,参数2,……,参数n),这是普通的构造函数,只能是构造函数(其他)调用构造函数(this),普通函数无法调用构造函数。
2)Method(方法)相关
调用当前对象的方法
3)Variable(变量)相关
调用当前对象的变量
注:this();和super();显式的调用构造函数只能放在构造第一行;
this.method..();super.method..();可以放在任何地方当作一个普通的方法使;
构造器和方法使用关键字this有很大的区别。方法引用this指向正在执行方法的类的实例。静态方法不能使用this关键字,因为静态方法不属于类的实例,所以this也就没有什麽东西去指向。构造器的this指向同一个类中,不同参数列表的另外一个构造器,
相关推荐
认识常见的异常及出现场景。 [*]知道开启和使用断言机制测试程序。 第9章 常用类 4课时 理解Object类及其常用方法equals,hashCode和finalize等。 能够使用String,...
Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域...这些知识点都是Java程序员应掌握的基础,也是面试中常见的考查点。通过深入理解和实践,不仅可以提高面试成功率,也有助于在实际工作中解决复杂问题。
### Java程序员面试须知 ...以上知识点不仅涵盖了Java基础语法、面向对象编程、集合框架、异常处理、线程控制等关键领域,还深入探讨了面试中常见的陷阱和细节,有助于Java程序员全面准备面试,提升专业技能。
- **Vector**:与ArrayList类似,但它是线程安全的,每个方法都添加了`synchronized`关键字,这使得其在多线程环境下更安全,但同时也降低了性能。 - **LinkedList**:使用双向链表实现,插入和删除元素速度快,但...
判断题则会考察对Java语言细节的辨析能力,需要对各种特性和规则有清晰的认识。复习时,除了上述单选题涉及的知识点,还要关注一些容易混淆的概念,比如: 1. 对于final关键字的理解,它不仅可以修饰变量,还可以...
- **定义语法**:在Java等语言中,定义常量通常使用`final`关键字,例如`final int i = 10;`定义了一个整型常量`i`,其值为10,且不允许后续修改。 以上内容涵盖了计算机科学和编程领域的多个关键知识点,包括域名...
对比Java中的JDBC(Java Database Connectivity),C#的ADO.NET在数据库连接、命令执行和结果处理上提供了更为丰富的功能和更灵活的选项。 #### 三、概念辨析——程序集与命名空间 **程序集(Assembly)**是在.NET...
- **概念辨析**:Internet 不是一个物理网络,而是一种由无数个物理网络互联而成的全球性网络。 - **正确答案**:C. Internet 是一个物理网络。 ### 12. 因特网的定义 - **定义**:Internet,即国际互联网,是由...
操作系统与应用软件的概念辨析 - **知识点**:操作系统与应用软件的区别。 - **解析**:管理和控制计算机系统全部资源的软件实际上是操作系统(如Windows、Linux等),而不是应用软件(如Microsoft Office、Adobe ...
#### 题目1:JSP内置对象辨析 - **题目概述**:考察考生对于JSP(JavaServer Pages)内置对象的理解。 - **选项分析**: - **A. pageContext**:JSP的一个内置对象,提供了访问与JSP页面相关的所有对象的方法。 - ...
1. **翻译程序**:是一种特殊的程序设计工具,它的主要功能是将一种编程语言(通常指源语言,如C++、Java等)编写的应用程序转化为另一种语言(目标语言,如汇编语言或机器语言)的等效程序。翻译过程完成后,生成的...