精华内容
下载资源
问答
  • Java变量初始化

    2017-08-23 18:56:38
    Java变量初始化

    刚才项目中打断点找问题时,突然发现了Java变量初始化自己还是并没有完全弄懂,干脆系统的看下

    写一个子类

    public class SonClass {
        private String sonTag="SonClass";
    
        public static String sTest="a";
    
        public SonClass(){
            sonTag="SonClass 购置";
        }
    
    }
    分别打上断点

    会先走

    
    

    然后早构造函数

    接下来在让子类继承父类

    public class SonClass extends FatherClass{
        private String sonTag="SonClass";
    
        public static String sTest="a";
    
    
        public SonClass(){
            sonTag="SonClass 购置";
        }
        
    }

    public class FatherClass {
        protected String fatherTag="FatherClass";
        private String name="name";
        private String age="34";
    
    
        public FatherClass(){
            fatherTag ="FatherClass 构造";
        }
    }
    在打上端点运行



    发现子类还没有初始化,父类相关变量已经初始化,然后就是走父类的构造函数,下一步,子类的相关变量初始化,子类的构造函数


    分割线

    当在子类里面添加一个静态变量时,会发现静态变量虽然已经初始化,但不属于子类,这也就是handler内存泄露,解决方法添加静态的原因



    展开全文
  • Java 变量初始化

    千次阅读 2014-02-11 17:01:43
    Java 变量初始化 对于类的成员变量(全局变量),不管程序有没有显式的进行初始化,JVM 都会先自动给它初始化为默认值,其值如下:  boolean false  char '\u0000'  byte 0  short 0  int 0  long 0  floa
    Java 变量初始化

    1.对于类的成员变量(全局变量),不管程序有没有显式的进行初始化,

      JVM 都会先自动给它初始化为默认值,其值如下:

        boolean    false
        char         '\u0000'(不可见字符)
        byte         0
        short        0
        int             0
        long           0
        float         0.0

        double      0.0

        String      null
        Object     null

    2.对于局部变量,JVM 不会自动给它初始化为默认值,

      因此局部变量的使用必须先经过显式的初始化。


    自己写个程序试试:

    public class Test {
    
    	// 类的成员变量,JVM 会自动给其初始化为默认值
    	private static char c;
    	private static byte b;
    	private static short s;
    	private static int i;
    	private static long l;
    	private static float f;
    	private static double d;
    	private static boolean bool;
    	
    	static String str;
    	
    	static Student student;
    	
    	public static void main(String[] args) {
    		
    		System.out.println(c);       // 不可见字符 '\u0000'
    		System.out.println(b);       // 0
    		System.out.println(s);       // 0
    		System.out.println(i);       // 0
    		System.out.println(l);       // 0
    		System.out.println(f);       // 0.0
    		System.out.println(d);       // 0.0
    		System.out.println(bool);    // false
    		System.out.println(str);     // null
    		System.out.println(student); // null
    		
    		// 局部变量,JVM 不会自动给它初始化为默认值,因此局部变量的使用必须先经过显式的初始化。
    		int a;
    		// 下面语句企图直接使用 a,编译时报错:The local variable a may not have been initialized
    		//System.out.println(a);
    
    	}
    	
    	class Student {}
    
    }
    


    展开全文
  • java 变量初始化

    2017-11-29 16:34:23
    java 程序的初始化一般遵循以下三个原则: 1、静态对象先于非静态对象初始化,...java程序初始化工作可以在许多不同的代码块中完成,它们的顺序如下:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父

    java 程序的初始化一般遵循以下三个原则:

    1、静态对象先于非静态对象初始化,静态对象只初始化一次,而非静态对象会初始化多次;

    2、父类优先于子类进行初始化;

    3、按照成员变量定义顺序进行初始化,即使变量定义布于方法定义中,它们依然在任何方法被调用之前优化;

    java程序初始化工作可以在许多不同的代码块中完成,它们的顺序如下:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造方法、子类非静态变量、子类非静态代码块、子类构造方法。

    例:

    public class HelloB  extends HelloA

    {

    public HelloB()

    {

    System.out.printIn("HelloB");   //子类构造函数

    }

    {

    System.out.printIn(''I'm B class'');   //子类非静态代码块

    }

    static   //子类静态代码块

    {

    System.out.printIn("static B");

    }

    public static void main(String []  args)

    {

    new HelloB();

    }

    }

    class HelloA

    {

    public HelloA()

    {

    System.out.printIn("HelloA");   //父类构造函数

    }

    {

    Sytem.out.printIn("I'm A class");   //父类非静态代码块

    }

    static    //父类静态代码块

    {

    System.out.printIn("static A");

    }

    }

    输出顺序:static A

    static  B

    I'm  A  class

    HelloA

    I'm B class

    HelloB

    展开全文
  • java变量初始化

    2016-05-12 16:38:56
    局部变量使用前必须显式初始化,未经初始化直接使用会导致编译错误(The local variable may not have been initialized)。 成员变量在声明时被赋为默认值:(基本数据类型为0,对象类型为null)

    局部变量使用前必须显式初始化,未经初始化直接使用会导致编译错误(The local variable may not have been initialized)。

    成员变量在声明时被赋为默认值:(基本数据类型为0,对象类型为null)

    转自http://bookshadow.com/weblog/2016/02/28/java-variable-initialization-problem/

     

    展开全文
  • Java变量初始化的时机

    2017-07-03 11:27:00
    对于JAVA中变量的初始化是一个很基础的问题,其中的一些问题也是易被...以下是对java变量初始化的时机的分析。  【java变量执行初始化的步骤】  java是一门强类型语言,因此java语言规定每个变量必须先声明,然...
  • java变量初始化顺序

    2016-12-01 21:52:45
    父类静态变量->父类静态初始化块->子类静态变量->子类静态变量初始化块->父类变量初始化->父类变量初始化块->父类构造方法->子类变量初始化->子类变量初始化块->子类构造方法   --------------------------------...
  • Java 变量初始化时机

    2016-03-31 15:07:12
    一、实例变量初始化时机 定义实例变量时指定初始值 非静态初始化块中对实例变量指定初始值 构造器中对实例变量指定初始值 代码验证:package com.tide.controller;/** * Created by wengliemiao on 16/3/26. */ ...
  • 1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效)局部变量声明后,Java虚拟机不会自动给它初始化为默认值。因此对于局部变量,必须经过显示的初始化,才能使用它。如果使用一个没有被初始化的...
  • //Java 尽量保证所有变量在使用前都能得到恰当的初始化,否则会报异常 //Java中提供了四种初始化方法:默认初始化、显式赋值初始化、调用...## 成员变量初始化方式之一————默认初始化: public class InitialV...
  • Java变量初始化顺序

    2014-09-16 23:57:08
    对于静态变量、静态初始化块、变量初始化块、构造器,它们的初始化顺序依次是 (静态变量、静态初始化块)>(变量初始化块)>构造器 证明代码: public class InitialOrderTest{  // 静态变量  public ...
  • 1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效)局部变量声明后,Java虚拟机不会自动给它初始化为默认值。因此对于局部变量,必须经过显示的初始化,才能使用它。如果使用一个没有被初始化...
  • Java中,null值表示引用不指向任何对象。运行过程中系统发现使用了...1.如果是对象的field的话那么系统在初始化对象的时候会把那些对象的值赋值为null,基本数据类型也有它们的初始值 2.如果是在方法内,那么程序...
  • 不管程序有没有显示的初始化Java 虚拟机都会先自动给它初始化为默认值。  1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。 2、单精度浮点型(float)的基本类型变量的默认值为0.0f。 3...
  • Java 变量初始化总结

    2016-09-25 12:35:24
    Java中的变量分为两类:基本数据类型变量和对象变量。 基本数据类型变量有8种,对象变量则不计其数,以及可以自己定义。 当变量作为类的字段时,基本数据类型会被编译器自动赋初值,对象变量会被赋值为null。 当...
  • JAVA变量初始化顺序

    2014-05-29 11:30:29
    变量概要 在Java程序中,变量可分为成员变量和局部变量。成员变量是指定义在类体内的变量,它们存储在类的栈中。如果定义该成员变量时没有使用...>方法内的局部变量:必须在方法内对其进行显示初始化,从初始化完成后
  • 不管程序有没有显示的初始化Java 虚拟机都会先自动给它初始化为默认值。 1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。 2、单精度浮点型(float)的基本类型变量的默认值为0.0f...
  • JAVA变量初始化赋值null

    千次阅读 2018-01-15 19:06:35
    1.如果是对象的field的话那么系统在初始化对象的时候会把那些对象的值赋值为null,基本数据类型也有它们的初始值 2.如果是在方法内,那么程序员需要自己给这些变量赋值。 class T{  Object obj = null;  ...
  • java变量初始化0.00

    2018-06-04 15:09:00
    转自:http://www.jb51.net/article/46010.htm
  • JAVA变量初始化问题

    2014-04-29 15:38:12
    一个变量作为类成员使用的时候,如果没有被初始化java会为其分配默认值: Boolean false Char '\u0000'(null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f double 0.0d 如果在一个方法中定义一个变量...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,171
精华内容 7,668
关键字:

java变量初始化

java 订阅