final修饰的非静态变量

问题描述

final修饰的非静态变量除了在声明处或构造函数中初始化,可以在其他地方初始化吗或者说只要在构造函数之前的任何允许的地方都可以初始化,谢谢

解决方案

还可以在块代码处,比如class A { final int a; { a =5; }}其他都不可以了
解决方案二:
楼上的正解
解决方案三:
因该是只能在声明处和构造函数初始化

时间: 2024-10-31 14:22:25

final修饰的非静态变量的相关文章

asp.net中静态变量和非静态变量的区别

静态变量:静态变量使用 static 修饰符进行声明在所属类被装载时创建通过类进行访问所属类的所有实例的同一静态变量都是同一个值非静态变量:不带有 static 修饰符声明的变量称做非静态变量在类被实例化时创建通过对象进行访问同一个类的不同实例的同一非静态变量可以是不同的值示例: [复制到剪贴板]CODE: using System;using System.Collections.Generic;using System.Text;namespace Example01{    class P

hashmap-java初学中,遭遇无法从静态上下文中引用非静态 变量 this

问题描述 java初学中,遭遇无法从静态上下文中引用非静态 变量 this import java.util.*; public class ComicBooks { public ComicBooks(){ } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here HashMap quality =

初学java遇到无法从静态上下文中引用非静态变量错误

问题描述 public class Persion1{class Persion{int id;int age=20;Persion(){};Persion(int _id,int _age){id=_id;age=_age;}}class Dog {int id;int age;int get_id(){return id;}int get_age(){return age;} }Persion Tom=new Persion();Persion Jim=new Persion(2,15);D

vb-VB编译时,提示“局部,非静态变量太多”

问题描述 VB编译时,提示"局部,非静态变量太多" 删除了几个窗体,再编译时突然提示:"局部,非静态变量太多" Public Function DealMileageNew(ByRef capacity As truckStat0, ByVal i As Integer, ByVal j As Integer) On Error GoTo Err_Out Dim lsTruck As truckStat0, lsTruck2 As truckStat0 Dim No

代码- java中无法从静态上下文中引用非静态变量,怎么回事?

问题描述 java中无法从静态上下文中引用非静态变量,怎么回事? 是我调用的方法不对,我应该怎么改呢 代码如下: switch(ope){ case "+": res=sum(num1,num2); break; case "-": res=minus(num1,num2); break; case "*": res=mul(num1,num2); break; case "/": res=div(num1,num2); br

java-无法从上下文中引用非静态变量(初学者)

问题描述 无法从上下文中引用非静态变量(初学者) public class TestExtend { class A { protected void print(String s){ System.out.println(s); } A() {print("A()");} public void f() {print("A:f()");} } class B extends A { B() {print("B()");} public void

java-Java 中final修饰的成员变量在创建对象时候会不会被附初值?

问题描述 Java 中final修饰的成员变量在创建对象时候会不会被附初值? 如上所述 Java 中final修饰的成员变量在创建对象时候会不会被附初值? 我看周志明的jvm说在创建对象时候要给所有的内存空间都要初始化为零值(不包括对象头),我就想如果是final类型的会不会被初始化微零值再进行程序员自己编写的赋值语句呢?那样的话是不是就是两次对final变量赋值了? 解决方案 不会自动赋值.不赋值会报错.final修饰成员变量,会强制要求赋上值. 解决方案二: 会,比如int初值就是0 解决方

php的静态变量和静态方法

静态变量也称为类变量,静态方法也称为类方法. 简单的说,静态变量就是所有对象都共享的变量.静态变量也称为类变量,静态方法也称为类方法. 如何定义静态变量 访问修饰符 static 变量名; 如何访问静态变量: (1)在类外部:类名::$类变量名 (2)在类内部:self::$类变量名或者::$类变量名 例:一群小孩在玩游戏,不时有新的小孩加入游戏.问:如何知道现在有多少小孩在玩游戏,用面向对象的思想来实现. 静态变量与变通变量的区别: (1)加上static称为静态变量或者类变量,否则称为实例变

C#中static静态变量使用说明

使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类.字段.方法.属性.运算符.事件和构造函数,但不能用于索引器.析构函数或类以外的类型   静态全局变量 定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量. 特点: A.该变量在全局数据区分配内存. B.初始化:如果不显式初始化,那么将被隐式初始化为0.   静态局部变量 定义:在局部变量前加上static关键字时,就定义了静态局部变量. 特点: A.该变量在全局数据区