一、JAVA中final 与 static 总结
final static
修饰类 该类不可被继承 只能修饰内部类,该类不需要new,是静态加载(嵌套顶层类)
修饰接口 × ×
修饰构造函数 × ×
修饰语句块 × 虚拟机按声明顺序初始化static成员字段和static语句块
修饰字段属性 表示属性初始化后不能修改(实例常量) 是类变量,所有实例共享该变量值(类变量)
在定义时或构造函数中赋值(每个实例拥有一份拷贝)
修饰方法 该方法不能被覆盖(只可继承) 是类方法,所有实例共享该方法(类方法)
修饰函数参数 参数值不能被函数修改 ×
修饰函数局部变量 局部变量初始化后不能修改(局部常量) ×
用途 1).为了防止方法被覆盖或改写; 1).定义全局变量或常量;
2).提高运行效率,JAVA对final方法调用采用内嵌机制; 2).定义类方法;
二、JAVA类加载顺序
JAVA类加载顺序: 1).按代码顺序递归加载静态成员/代码块,先父类再本类;
2).按代码顺序递归加载非静态成员/代码块,先父类再本类;
3).按代码顺序递归调用构造函数,先父类再本类;
JAVA类加时机: 1).调用静态成员时,加载静态成员所在的类及父类;
2).第一次new对象时加载(第二次new不再加载)
3).加载子类会先加载父类.有static和final修饰的成员不会被加载;当成常量使用;
分享到:
相关推荐
Java 中 final 和 static 的区别 final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成...
Java 中的 final 和 static 关键字详解 final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也...
在Java编程语言中,`final`与`static`是两个非常关键且常用的关键字,它们各自具有独特的功能和用途,可以极大地增强代码的稳定性和可维护性。下面将详细解析这两个关键字的用法及其在Java中的重要性。 ### 一、`...
Java程序设计实验11主要关注四个核心概念:`static`、`super`、`final`以及代码块。这些是Java编程中的基础但至关重要的元素,理解它们有助于编写更有效、更具可维护性的代码。 1. **`static`关键字**: - `static...
在Java编程语言中,`static`、`final`、`abstract`和`interface`是四个非常重要的关键字,它们分别代表不同的特性,用于定义类、变量和方法的行为。下面是对这些关键字的详细解释: 1. **static(静态)** - **...
Java SE编程入门涉及众多基础知识,包括面向对象编程的关键概念,如类、对象、包和方法。其中,`static`和`final`是两个重要的修饰符,它们分别用于定义类的静态成员和常量。 `static`关键字允许我们将成员变量和...
**题目:** 下列关于 Java 类加载顺序的说法正确的是? - A. 类加载顺序取决于源文件中的第一行 - B. import 语句总是在类定义之前 - C. 类加载顺序只与源文件的同包有关 - D. 类加载顺序与源文件的顺序无关 **...
类的初始化加载顺序** - 类加载时,首先初始化静态变量,然后初始化非静态变量,最后执行构造方法。 **3.2. 封装** - **封装**是指隐藏对象的实现细节,只暴露必要的接口。封装提高了代码的安全性和可维护性。 ...
Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。
向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 Throwable 常见的 Exception 与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch 什么是 Error 内部类 创建内部类...
### Static (静态) 和 Final (最终) 在 Java 中的应用 #### Static (静态) 在 Java 编程语言中,`static` 关键字用于定义类成员(变量和方法)的访问特性,表明这些成员属于类本身而不是类的实例。具体而言: - *...
5. Java虚拟机类加载顺序: - Bootstrap Classloader:加载JVM启动时的核心类库,如rt.jar。 - Extension Classloader:加载JRE的扩展目录下的JAR文件,或由java.ext.dirs指定的目录。 - System Classloader:...
在Java编程语言中,`static`关键字扮演着至关重要的角色,它允许我们定义静态成员变量、静态方法和静态初始化块。这些静态元素具有以下几个关键特点: 1. **静态变量(Static Variables)**: - 静态变量是属于类...
在Java编程语言中,静态块(Static Block)是一种特殊的代码段,主要用于类的初始化。它在类被加载到Java虚拟机(JVM)时执行,且只执行一次。静态块通常用于初始化静态变量或者进行一些类级别的设置工作,而不涉及...
6. **静态和final**:`static`关键字用于声明类级别的成员,不依赖于对象实例。`final`用于声明不可变的变量或防止方法覆盖。 7. **异常处理**:Java通过`Exception`类及其子类来处理运行时错误。`try-catch-...
- **初始化顺序**:在Java中,静态变量的初始化顺序遵循定义顺序,并且在类加载时完成。 - **示例**: ```java class Value { static int c = 0; Value() { c = 15; } Value(int i) { c = i; } static ...
本教程主要涵盖了Java程序语言设计的多个核心概念,包括类与对象、语法基础、集合框架、IO流、GUI编程、异常处理、网络编程和JDBC等内容。以下是这些概念的详细解析: 1. **类与对象**: - 类是对象的蓝图,它定义...
### Java基础教程知识点详解 #### 1. Java简介 ##### 1.1 认识Java - **诞生时间**:1995年5月23日,Java语言由Sun Microsystems公司推出。 - **创始人**:James Gosling,通常被称为“Java之父”。 ##### 1.2 ...
在Java的基础知识中,访问控制符、初始化、方法覆盖、Object类的方法、嵌套类与内部类、接口、final关键字、异常处理以及Java命令是理解Java编程的关键点。 1. **访问控制符** - `public`:可被所有类访问。 - ...
Java中的`static`关键字是用来声明类级别的成员,包括变量、方法和代码块。它与对象无关,而是直接关联到类本身。以下是对`static`关键字的详细解释: 1. **静态变量(Static Variables)** - 静态变量是属于类的...