0 0

final修饰的非静态变量3

final修饰的非静态变量除了在声明处或构造函数中初始化,可以在其他地方初始化吗

或者说只要在构造函数之前的任何允许的地方都可以初始化,谢谢
OO 
2011年8月14日 09:58

3个答案 按时间排序 按投票排序

0 0

采纳的答案

还可以在块代码处,
比如
class A {
  final int a;
   {
     a =5;
   }
}

其他都不可以了

2011年8月14日 10:02
0 0

楼上的正解

2011年8月14日 15:26
0 0

因该是只能在声明处和构造函数初始化

2011年8月14日 10:01

相关推荐

    java面向对象之final修饰符.docx

    对于实例变量,可以在非静态初始化块、声明时或构造器中指定初始值,但不能在多个地方重复赋值。 ```java public class FinalVariableTest { final int a = 6; // 合法,直接在声明时赋值 final String str; // ...

    java入门教程:数据类型_类变量(静态变量).pdf

    5. **默认值**:静态变量与实例变量(非静态变量)有相同的默认值:数值类型默认为0,布尔类型为false,引用类型为null。 6. **访问方式**:静态变量可以通过类名直接访问,无需创建类的实例。例如,`ClassName....

    Java中的静态变量静态方法静态块与静态类.docx

    - 在静态方法内部,只能访问静态变量和其他静态方法,无法访问非静态成员。 - 静态方法常被用作工具方法,提供一些通用功能。 - **示例**: ```java public class StaticExample { private static int count;...

    Java修饰符使用整理(含实例)

    非访问修饰符包括 final、static 和 abstract 三种,用于控制类、成员变量和方法的继承关系和行为。 一、访问修饰符 访问修饰符是 Java 中最基本的修饰符,用于控制类、成员变量和方法的访问权限。访问修饰符有四...

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

    此外,静态方法访问静态成员变量时需要注意,静态方法不能访问非静态成员变量,但是可以访问静态成员变量。例如,在 StaticTest4.java 例子中,静态方法output可以访问静态成员变量a,但不能访问非静态成员变量b。 ...

    java中final修饰符的使用方法

    - **实例变量**:如果`final`修饰的是实例变量,那么必须在声明时、非静态初始化块或构造器中为其指定初始值。例如: ```java public class MyClass { final int var1 = 1; // 声明时赋值 final int var2; ...

    java_中的_final_变量[文].pdf

    静态变量的初始化顺序先于非静态变量,而构造函数的执行顺序遵循继承链,从父类到子类。 多态是面向对象编程的一个核心概念,它允许父类类型的引用指向子类对象。非`final`方法可以被子类覆盖,因此在运行时根据...

    final关键字详细解读

    有三种方式初始化final成员变量:直接在声明时进行显示初始化、在构造方法中初始化(非静态常量)、在实例代码块中初始化(非静态常量)。注意,这三种方式只能选择其一。final成员变量常用于表示不可变的状态信息。...

    final变量.

    静态变量在类加载时初始化,然后是静态代码块,接着是非静态变量和非静态代码块,最后是构造函数。 6. **内联优化和多态**: `final`方法能够被编译器进行内联优化,因为它们不会被子类重写。内联可以减少函数调用...

    java中final和static的区别

    4. 用 private 修饰的 static 成员变量和成员方法,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用),但是不能在其他类中通过类名来直接引用,这一点很...

    JavaSE static final及abstract修饰符实例解析

    静态变量属于类的,使用类名来访问,非静态变量是属于对象的,必须使用对象来访问。静态变量在加载类的过程中为静态变量分配内存,实例变量在创建对象时分配内存。因此,静态变量可以使用类名来直接访问,而不需要...

    Java并发--final关键字.docx

    实例变量则可以在声明时、非静态初始化块中或构造器中赋值,有三个时机。`final`修饰的变量必须在这些时刻之一初始化,否则编译时会报错。 2. **局部变量**:`final`修饰的局部变量必须由程序员显式初始化,并且...

    final关键字和static_用法

    静态方法中不能访问非静态成员变量和非静态成员方法,因为这些成员是在创建对象之后才存在的,而静态方法并不依赖于任何特定的对象实例。 示例代码: ```java public class Test4 { public static void main...

    java工程师面试总结.pdf

    * 实例属性:非静态初始化块,构造器,声明该属性时指定初始化值。 final修饰局部变量: * 系统不会对局部变量进行初始化,必须由程序员显示初始化。 * 如果在定义final变量时没有指定初始值,则可以在后面代码中...

    static与final的异同

    需要注意的是,静态方法无法直接访问非静态变量,因为它们在没有实例的情况下运行,无法访问实例相关的数据。 另一方面,`final`关键字表示“不可变”或“最终”的特性。它可以修饰类、方法和变量。当`final`修饰类...

    java面试题及答案(基础题122道,代码题19道)

    6. **实例变量的默认值**:Java中的实例变量(非静态变量)具有默认值。对于`int`类型,默认值是0。在题目6中,`i`的值在打印时为0,这是正常的。 7. **final实例变量的初始化**:`final`修饰的实例变量必须在构造...

    针对Java中的修饰符总结

    final修饰变量,当前变量的一旦赋值就不能再进行更改。 通过对Java中的修饰符的总结,我们可以更好地理解和使用Java中的访问修饰限定符和非访问修饰限定符,从而编写更加安全、灵活和高效的Java程序。

    java中final与static的用法

    `static`关键字用于声明静态成员,包括静态变量和静态方法。它意味着这些成员属于类而非对象,可以通过类名直接访问,而无需创建类的实例。 #### 1. `static`修饰变量 `static`变量也称为类变量,它在类加载时初始...

    第6章 Java语言中的修饰符.ppt

    `static`修饰的变量称为静态变量,它们属于类而不是类的实例,因此可以通过类名直接访问。同样,`static`方法也是属于类的,不依赖于类的实例,因此也称为类方法。在`static`方法中,不能直接访问非静态(实例)变量...

Global site tag (gtag.js) - Google Analytics