java变量的初始化

public class Init {

private int age;//非静态初始化语句<3>

private static String name; //静态初始化语句,先初始化静态 <1.1>

/**静态初始化语句和静态初始化模块都是静态(同等级),谁在前面先初始化谁*/

{/**动态初始化模块(非静态初始化模块)<4>*/

double width;

float price;

System.out.println("父类非静态");

}

static{/**静态初始化模块<2>*/

int id;

String pwd;

name = "admin";//在初始化name时并进行赋值,不用等静态初始化模块<1.2>

System.out.println("父类静态");

}

//private static String name;/**如果把语句放在模块下面,也是和上面顺序一样<1.1>*/

/**构造方法要等到所有的成员变量都初始化完后才执行*/

public Init(){

char gender = ‘c‘;//<5>

System.out.println("父类构造");

}

public static void main(String[] args) {

//new Init();

new Child();

}

}

/**

* 子类继承父类,子类和父类都有静态和非静态和构造

* 1、初始化父类静态

* 2、初始化子类静态

* 3、初始化父类非静态

* 4、初始化父类构造

* 5、初始化子类非静态

* 6、初始化子类构造

*

* */

class Child extends Init{

{

System.out.println("子类非静态");

}

static{

System.out.println("子类静态");

}

public Child(){

System.out.println("子类构造");

}

}

  

时间: 2024-10-12 12:51:45

java变量的初始化的相关文章

Java变量方法初始化顺序

面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量, 构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果.这实际上是在考查我们对于继承情况下类的初始化顺序的了解. 我们大家都知道,对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序以此是 (静态变量.静态初始化块)>(变量.初始化块)>构造器. 我们也可以通过下面的测试代码来验证这一点: 父类--静态变量 父类

Java变量的初始化问题探究

对于java的变量,我们知道有成员变量和局部变量. 关于他们的初始化,基本上所有书上都会写.成员变量,java会帮助你初始化,局部变量,则需要程序员自己初始化. 对于类的成员变量.不管程序有没有显示的初始化,Java  虚拟机都会先自动给它初始化为默认值. 规则为: 1.整数类型(byte.short.int.long)的基本类型变量的默认值为0. 2.单精度浮点型(float)的基本类型变量的默认值为0.0f. 3.双精度浮点型(double)的基本类型变量的默认值为0.0d. 4.字符型(c

[Java]变量及其初始化 与 类对象的初始化

1 变量的初始化 1.1 变量的[定义] 1.2 变量的[作用域] 1.3 变量的[初始值] 1.4 补充:缓存变量 1.5 变量的[分类]与[未初始化情况] 2 类对象 2.1 类对象的初始化/构造过程 1 [对象]的初始化流程 2 实验 class Base{ static { System.out.println("[Base:static area]"); }//step1 { System.out.println("Base:instance area")

Java变量的初始化以及静态方法

1.变量初始化 1 package treat; 2 class InitializeBlockClass 3 { 4 public int field=100; 5 { 6 field=200; 7 } 8 public InitializeBlockClass(int value) 9 { 10 this.field=value; 11 } 12 public InitializeBlockClass() 13 { 14 15 } 16 } 17 18 public class treat

Java变量初始化的时机

对于JAVA中变量的初始化是一个很基础的问题,其中的一些问题也是易被学习者所忽略.当在编写代码的时候碰到时,常被这些问题引发的错误,感觉莫名其妙.而且现在许多大公司的面试题,对于这方面的考查也是屡试不爽.以下是对java变量初始化的时机的分析. [java变量执行初始化的步骤] java是一门强类型语言,因此java语言规定每个变量必须先声明,然后才能使用,声明变量时必须指定该变量的数据类型.首先看下面这条语句的执行过程: int a = 5; 实际上面这条语句会被拆分成两个过程执行: (1)i

java变量,初始化快,构造函数的执行顺序

转自 http://blog.csdn.net/macheng365/article/details/6403050 —————————————————————————————————————————————————— 对于JAVA中类的初始化是一个很基础的问题,其中的一些问题也是易被学习者所忽略.当在编写代码的时候碰到时,常被这些问题引发的错误,感觉莫名其妙.而且现在许多大公司的面试题,对于这方面的考查也是屡试不爽.不管基于什么原因,我认为,对于java类中的初始化问题,有必要深入的了解.Ja

JAVA变量初始化赋值null

 在Java中,null值表示引用不指向任何对象.运行过程中系统发现使用了这样一个引用时·可以立即停止进一步的访问,不会给系统带来任何危险. 1.如果是对象的field的话那么系统在初始化对象的时候会把那些对象的值赋值为null,基本数据类型也有它们的初始值 2.如果是在方法内,那么程序员需要自己给这些变量赋值. class T{   Object obj = null;   Object obj1;//系统在初始化的时候会自动的给他赋值为null } class T{   public voi

Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造器)(转)

大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果.这实际上是在考查我们对于继承情况下类的初始化顺序的了解. 我们大家都知道,对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序以此是(静态变量.静态初始化块)>(变量.初始化块)>构造器.我们也可以通过下面的测试代码来验证这一点: Java代码 p

朝花夕拾——看清java实例变量的初始化内幕

过一段时间可能就得去找实习,今天在宿舍翻开以前常放在枕头边的大砖头<Java编程思想>打算重温下之前学的知识点,看到有关java初始化的一些知识,综合之前看过的网页和书籍,记下自己对java实例变量初始化的理解,仅供需要的朋友参考,也为自己积累一些java编程应该注意的知识点. java中对实例变量的初始化可以在三个地方出现:定义实例变量时指定初始值:初始化块中为实例变量指定的初始值:构造器中为实例变量指定的初始值.如果理解其内部初始化的规律,一般在编程和面试中出现的变量赋值问题基本都可以解决