`
winfred1206
  • 浏览: 13302 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java常见关键字辨析

    博客分类:
  • Java
阅读更多

 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指向同一个类中,不同参数列表的另外一个构造器,

         

     

 

1
0
分享到:
评论

相关推荐

    AIC的Java课程1-6章

     认识常见的异常及出现场景。  [*]知道开启和使用断言机制测试程序。 第9章 常用类 4课时  理解Object类及其常用方法equals,hashCode和finalize等。  能够使用String,...

    java面试题-经典选择题部分

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的知识领域...这些知识点都是Java程序员应掌握的基础,也是面试中常见的考查点。通过深入理解和实践,不仅可以提高面试成功率,也有助于在实际工作中解决复杂问题。

    java程序员面试须知

    ### Java程序员面试须知 ...以上知识点不仅涵盖了Java基础语法、面向对象编程、集合框架、异常处理、线程控制等关键领域,还深入探讨了面试中常见的陷阱和细节,有助于Java程序员全面准备面试,提升专业技能。

    java面试题精选.doc

    - **Vector**:与ArrayList类似,但它是线程安全的,每个方法都添加了`synchronized`关键字,这使得其在多线程环境下更安全,但同时也降低了性能。 - **LinkedList**:使用双向链表实现,插入和删除元素速度快,但...

    期末考试复习资料.zip

    判断题则会考察对Java语言细节的辨析能力,需要对各种特性和规则有清晰的认识。复习时,除了上述单选题涉及的知识点,还要关注一些容易混淆的概念,比如: 1. 对于final关键字的理解,它不仅可以修饰变量,还可以...

    2021-2022计算机二级等级考试试题及答案No.9780.docx

    - **定义语法**:在Java等语言中,定义常量通常使用`final`关键字,例如`final int i = 10;`定义了一个整型常量`i`,其值为10,且不允许后续修改。 以上内容涵盖了计算机科学和编程领域的多个关键知识点,包括域名...

    有关C#和数据库的培训WorkReport

    对比Java中的JDBC(Java Database Connectivity),C#的ADO.NET在数据库连接、命令执行和结果处理上提供了更为丰富的功能和更灵活的选项。 #### 三、概念辨析——程序集与命名空间 **程序集(Assembly)**是在.NET...

    2021-2022计算机二级等级考试试题及答案No.15818.docx

    - **概念辨析**:Internet 不是一个物理网络,而是一种由无数个物理网络互联而成的全球性网络。 - **正确答案**:C. Internet 是一个物理网络。 ### 12. 因特网的定义 - **定义**:Internet,即国际互联网,是由...

    2021-2022计算机二级等级考试试题及答案No.17510.docx

    操作系统与应用软件的概念辨析 - **知识点**:操作系统与应用软件的区别。 - **解析**:管理和控制计算机系统全部资源的软件实际上是操作系统(如Windows、Linux等),而不是应用软件(如Microsoft Office、Adobe ...

    2021-2022计算机二级等级考试试题及答案No.14117.docx

    #### 题目1:JSP内置对象辨析 - **题目概述**:考察考生对于JSP(JavaServer Pages)内置对象的理解。 - **选项分析**: - **A. pageContext**:JSP的一个内置对象,提供了访问与JSP页面相关的所有对象的方法。 - ...

    编译原理知识点

    1. **翻译程序**:是一种特殊的程序设计工具,它的主要功能是将一种编程语言(通常指源语言,如C++、Java等)编写的应用程序转化为另一种语言(目标语言,如汇编语言或机器语言)的等效程序。翻译过程完成后,生成的...

Global site tag (gtag.js) - Google Analytics