`
小小虾
  • 浏览: 13217 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java中final与static关键字总结

阅读更多
Java中final与static关键字总结

一.final总结

  1.final修饰类:表示该类不可继承

  final不能修饰interface接口

  2.final修饰方法:表示该方法不能被子类覆盖(即子类不能重写父类的final方法,可以继承)

  final不能修饰构造函数

  3.final修饰字段属性:表示属性值第一次初始化后不能被修改

  final属性可以直接初始化或在构造函数中初始化

  如果属性是直接初始化,则其值不能被其它函数(包括构造函数)修改

  4.final修饰函数参数

  参数值不能被函数修改

  5.final修饰函数中的局部变量

  局部变量被第一次初始化后不能被修改

  public void hello() {

  final String name;

  name = "hi";       //ok

  name = "hello";    //error

  }

  使用final的意义:

  第一,为方法“上锁”,防止任何继承类改变它的本来含义和实现。设计程序时,若希望一个方法的行为在继承期间保持不变,而且不可被覆盖或改写,就可以采取这种做法。

  第二,提高程序执行的效率,将一个方法设成final后,编译器就可以把对那个方法的所有调用都置入“嵌入”调用里(内嵌机制)。

  二.static总结

  1.static修饰成员函数:该成员函数不能使用this对象

  static不能修饰构造函数

  static不能修饰函数参数

  static不能修饰局部成员变量

  2.static修饰成员字段

  当类被虚拟机加载时,首先按照字段声明的先后顺序对static成员字段进行初始化

  3.static修饰语句块

  当类被虚拟机加载时,按照声明顺序先后初始化static成员字段和static语句块

  static所修饰的方法和字段是只属于类,所有对象共享。

  在static所修饰的函数和语句块中不能使用非static成员字段。

  在Java不能直接定义全局变量,是通过static来实现的

  在Java中没有const,不能直接定义常量,通过static final来实现

分享到:
评论

相关推荐

    Java关键字final、static使用总结

    "Java关键字final、static使用总结" 在 Java 编程语言中,final 和 static 是两个非常重要的关键字,它们可以用来修饰类、方法、变量等,了解它们的使用方法和限制非常重要。本文将详细总结 final 和 static 的使用...

    java中final关键字和static关键字详细用法

    Java中的`final`和`static`关键字是编程中非常重要的两个修饰符,它们分别用于不同的场景,以确保代码的稳定性和高效性。 首先,`final`关键字主要用于表示不可变性。它可以用来修饰类、方法和变量。对于类,如果一...

    Java中的static关键字

    Java 中的 static 关键字 Java 中的 static 关键字是用于声明类的成员变量和成员方法的,它可以使得变量和方法属于类本身,而不属于某个对象。静态变量也称为类变量,静态方法也称为类方法。静态变量和静态方法可以...

    java中final和static的总结

    在Java编程语言中,`final` 和 `static` 是两个非常重要的关键字,它们分别具有不同的含义和用法,但都对代码的结构和行为产生深远影响。本文将深入探讨这两个关键字,并结合实际示例来解释它们的应用场景。 首先,...

    javafinal和static总结.docx

    Java 中的 final 和 static 关键字详解 Java 中的 final 和 static 关键字是两个重要的关键字,它们在 Java 编程中扮演着重要的角色。本文将详细介绍 final 和 static 关键字的使用方法和注意事项。 一、final ...

    Java this、final等关键字总结

    Java中的关键字this、final以及super在编程中扮演着至关重要的角色。下面我们将深入探讨这些关键字的用法和意义。 首先,`this`关键字是Java中一个非常基础且实用的元素,它代表当前对象的引用。当类的成员变量与...

    Java编程中static和final关键字的陷阱.pdf

    Java编程中static和final关键字的陷阱.pdf Java编程中static和final关键字的陷阱是Java开发中两个重要的关键字,但是它们的使用也存在一些陷阱,需要开发者注意掌握。 static关键字可以用于修饰属性、方法和类。...

    java中final和static的区别

    Java 中 final 和 static ...通过上面的解释,我们可以看到 final 和 static 关键字在 Java 中的不同用法。final 关键字用于表示不可变的变量、方法、类等,而 static 关键字用于表示静态的成员变量、方法、代码块等。

    java中final与static的用法

    在Java编程语言中,`final`与`static`是两个非常关键且常用的关键字,它们各自具有独特的功能和用途,可以极大地增强代码的稳定性和可维护性。下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`...

    深入理解Java中的final关键字_动力节点Java学院整理

    需要注意的是,`final` 关键字与 `finally` 关键字不同,`finally` 用于异常处理,确保代码块在任何情况下都能执行。同时,`final` 也与 `Object` 类中的 `finalize()` 方法区分开,`finalize()` 是在对象被垃圾收集...

    Java面向对象程序设计static关键字.pptx

    Java面向对象程序设计中,static关键字是一个非常重要的概念,它有很多特点和作用,本文将对static关键字的特点、作用和使用场景进行详细的解释。 static关键字的特点 首先,static关键字可以用来修饰变量、方法和...

    final和static用法详解JAVA

    Java 中的 final 和 static 关键字详解 final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也...

    Java final关键字

    此外,`final`关键字还有其他用途,如`final`修饰的匿名内部类和`final`局部变量在匿名内部类中的特殊规则,以及`final`与`static`结合时的静态常量等。理解并熟练应用`final`关键字对于编写高效、安全的Java代码至...

    final关键字和static_用法

    ### Java中的static关键字详解 #### 一、static的概述 `static`关键字在Java中主要用于创建静态成员,包括静态变量和静态方法。与普通成员不同,静态成员属于类级别,而不是实例级别。这意味着无论创建了多少个类...

    java关键字总结文档

    以下是对给定文件中提到的Java关键字进行的详细解释与总结: #### 1. `abstract` - **用途**:`abstract`关键字用于声明抽象类或抽象方法。抽象类不能被实例化,但可以被其他类继承;抽象方法没有具体实现,必须由...

    Java中的final关键字

    在Java编程语言中,`final`关键字扮演着一个至关重要的角色,它被用来定义不可变性和唯一性。这个关键字可以应用于变量、方法和类,分别赋予它们不同的特性。以下是对`final`关键字在不同场景下使用的详细介绍: 1....

    【Java基础】Java8新特性—接口中使用default和static关键字

    接口中的变量默认类型是public static final,也是就是说是 公有静态常量 。 而方法默认是public abstract,公有抽象方法,但是事实真的是这样吗? 一.新特性 Java 1.8对接口有两个方面的增强:接口中可以添加使用...

    Linux中Java变量与java关键字。MyEclipse快捷键大全。Java方法

    了解并熟练使用变量是编写Java程序的基础,而关键字则是Java语法的精髓,如public、private、static、final等,它们各有特定含义,用于控制代码的行为和访问权限。 接着,我们关注“MyEclipse快捷键大全”。...

    java多线程关键字final和static详解

    在本文中,我们将深入探讨final和static关键字在Java多线程编程中的应用和特点。 一、final关键字 final关键字是Java语言中的一种修饰符,用于修饰变量、方法和类。final关键字的主要特点是:一旦被赋值后就不能被...

Global site tag (gtag.js) - Google Analytics