`
Qin-Qin
  • 浏览: 24750 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA基础--final、static区别以及类加载顺序

 
阅读更多

 

一、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的区别

    Java 中 final 和 static 的区别 final 关键字在 Java 中有多种用法,包括修饰变量、方法、类等。下面是 final 关键字的各种用法: 1. final 修饰变量:表示该变量一旦被初始化,程序无法修改变量的值,该变量变成...

    final和static用法详解JAVA

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

    java中final与static的用法

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

    Java程序设计实验11-static、super、final、代码块.docx

    Java程序设计实验11主要关注四个核心概念:`static`、`super`、`final`以及代码块。这些是Java编程中的基础但至关重要的元素,理解它们有助于编写更有效、更具可维护性的代码。 1. **`static`关键字**: - `static...

    static、final、abstract和interface使用总结

    在Java编程语言中,`static`、`final`、`abstract`和`interface`是四个非常重要的关键字,它们分别代表不同的特性,用于定义类、变量和方法的行为。下面是对这些关键字的详细解释: 1. **static(静态)** - **...

    Java SE编程入门教程 java static final(共24页).pptx

    Java SE编程入门涉及众多基础知识,包括面向对象编程的关键概念,如类、对象、包和方法。其中,`static`和`final`是两个重要的修饰符,它们分别用于定义类的静态成员和常量。 `static`关键字允许我们将成员变量和...

    java基础知识测试题

    **题目:** 下列关于 Java 类加载顺序的说法正确的是? - A. 类加载顺序取决于源文件中的第一行 - B. import 语句总是在类定义之前 - C. 类加载顺序只与源文件的同包有关 - D. 类加载顺序与源文件的顺序无关 **...

    个人笔记--JAVA基础

    类的初始化加载顺序** - 类加载时,首先初始化静态变量,然后初始化非静态变量,最后执行构造方法。 **3.2. 封装** - **封装**是指隐藏对象的实现细节,只暴露必要的接口。封装提高了代码的安全性和可维护性。 ...

    Java中的static关键字

    Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。

    Java 基础核心总结 +经典算法大全.rar

    向上转型static final 接口和抽象类接口 抽象类异常 认 识 Exception 什么是 Throwable 常见的 Exception 与 Exception 有关的 Java 关键字 throws 和 throw try 、finally 、catch 什么是 Error 内部类 创建内部类...

    static and final.

    ### Static (静态) 和 Final (最终) 在 Java 中的应用 #### Static (静态) 在 Java 编程语言中,`static` 关键字用于定义类成员(变量和方法)的访问特性,表明这些成员属于类本身而不是类的实例。具体而言: - *...

    java基础知识

    5. Java虚拟机类加载顺序: - Bootstrap Classloader:加载JVM启动时的核心类库,如rt.jar。 - Extension Classloader:加载JRE的扩展目录下的JAR文件,或由java.ext.dirs指定的目录。 - System Classloader:...

    java中static作用详解

    在Java编程语言中,`static`关键字扮演着至关重要的角色,它允许我们定义静态成员变量、静态方法和静态初始化块。这些静态元素具有以下几个关键特点: 1. **静态变量(Static Variables)**: - 静态变量是属于类...

    Java基础练习题练习下静态块的用处

    在Java编程语言中,静态块(Static Block)是一种特殊的代码段,主要用于类的初始化。它在类被加载到Java虚拟机(JVM)时执行,且只执行一次。静态块通常用于初始化静态变量或者进行一些类级别的设置工作,而不涉及...

    Java 基础核心总结.pdf

    6. **静态和final**:`static`关键字用于声明类级别的成员,不依赖于对象实例。`final`用于声明不可变的变量或防止方法覆盖。 7. **异常处理**:Java通过`Exception`类及其子类来处理运行时错误。`try-catch-...

    Java中static、this、super、final用法.docx

    - **初始化顺序**:在Java中,静态变量的初始化顺序遵循定义顺序,并且在类加载时完成。 - **示例**: ```java class Value { static int c = 0; Value() { c = 15; } Value(int i) { c = i; } static ...

    完整版 Java基础入门教程 Java程序语言设计 03 java对象 类与对象2(共23页).ppt

    本教程主要涵盖了Java程序语言设计的多个核心概念,包括类与对象、语法基础、集合框架、IO流、GUI编程、异常处理、网络编程和JDBC等内容。以下是这些概念的详细解析: 1. **类与对象**: - 类是对象的蓝图,它定义...

    Java基础教程.md.pdf

    ### Java基础教程知识点详解 #### 1. Java简介 ##### 1.1 认识Java - **诞生时间**:1995年5月23日,Java语言由Sun Microsystems公司推出。 - **创始人**:James Gosling,通常被称为“Java之父”。 ##### 1.2 ...

    java基础经典总结1

    在Java的基础知识中,访问控制符、初始化、方法覆盖、Object类的方法、嵌套类与内部类、接口、final关键字、异常处理以及Java命令是理解Java编程的关键点。 1. **访问控制符** - `public`:可被所有类访问。 - ...

    java static详解.doc

    Java中的`static`关键字是用来声明类级别的成员,包括变量、方法和代码块。它与对象无关,而是直接关联到类本身。以下是对`static`关键字的详细解释: 1. **静态变量(Static Variables)** - 静态变量是属于类的...

Global site tag (gtag.js) - Google Analytics