java非静态变量初始化
java费静态变量的初始化分为两种情况,一种是局部变量,一种是类的域。
对于类的域,java在类初始化时,会为变量赋一个初始值。对于基本数据类型,java会将初始值设置为二进制0,具体为将boolean设置为false,将byte设置为0,将char设置为0(即空格),short设置为0,int设置为0,long设置为0,float设置为0.0f,都变了设置为0.0。对于引用类型也会将其初始值设置为二进制0,即null。
而对于局部变量加入你在申明变量的时候没有为其设置初始值,java将认为你这是个粗心导致的错误,所以java会给你一个编译异常。
Talk is weak, show me your code.
package InitializationAndCleanup;
public class VariableInit {
    private boolean mBoolean;
    private byte mByte;
    private short mShort;
    private char mChar;
    private int mInt;
    private long mLong;
    private float mFloat;
    private double mDouble;
    private VariableInit mInit;
    public void function() {
        int i;
        //i ++; // compile error
    }
    public void printInitValue() {
        System.out.println("boolean : " + mBoolean);
        System.out.println("byte : " + mByte);
        System.out.println("short : " + mShort);
        System.out.println("char : [" + mChar + "]");
        System.out.println("int : " + mInt);
        System.out.println("long : " + mLong);
        System.out.println("float : " + mFloat);
        System.out.println("double : " + mDouble);
        System.out.println("reference variable : " + mInit);
    }
    public static void main(String[] args) {
        new VariableInit().printInitValue();
    }
}
输出:
boolean : false
byte : 0
short : 0
char : [ ]
int : 0
long : 0
float : 0.0
double : 0.0
reference variable : null
java非静态变量初始化的更多相关文章
- Java静态方法,静态变量,初始化顺序
		1. 静态方法: 成员变量分为实例变量和静态变量.其中实例变量属于某一个具体的实例,必须在类实例化后才真正存在,不同的对象拥有不同的实例变量.而静态变量被该类所有的对象公有(相当于全局变量),不需要实 ... 
- Java的静态变量初始化的坑
		在网上看到一个很有意思的题目,题目如下 class SingleTon { private static SingleTon singleTon = new SingleTon(); public s ... 
- Java中类成员变量初始化顺序
		一. 定义处默认初始化vs构造函数中初始化 java中类成员变量支持在声明处初始化,也可以在构造函数中初始化,那么这两者有什么区别呢?看下面例子 public class FieldsInit { p ... 
- Java中静态变量与非静态变量的区别
		感谢大佬:https://www.cnblogs.com/liuhuijie/p/9175167.html ①java类的成员变量有俩种: 一种是被static关键字修饰的变量,叫类变量或者静态变量 ... 
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
		内部类访问外部类的变量必须是final吗? 如下: package com.java.concurrent; class A { int i = 3; public void shout() { cl ... 
- Java的外部类和内部类+静态变量和非静态变量的组合关系
		看的李刚<疯狂java讲义>,里面讲内部类的地方感觉有点散而且不全,看完之后还是不十分清楚到底怎么用,于是自己写了个程序测试了一下.看如下代码,即可知道外部类和内部类+静态成员和非静态成员 ... 
- Java代码执行顺序(静态变量,非静态变量,静态代码块,代码块,构造函数)加载顺序
		//据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new ... 
- 类加载, 静态变量初始化, String不可变, 泛型使用, 内部类
		1.java变量类型 java变量类型分:基本数据类型变量和Object数据类型变量,变量也是占用者内存的 例如: int i = 3; i这个变量保存的就是整形3, 占32位 Object a = ... 
- ERROR无法从静态上下文中引用非静态变量
		ERROR无法从静态上下文中引用非静态变量 2012-06-16 20:58:52 分类: Java 什么是“static”? 学习过java.C++或C的人都应该认识这个关键字.用这个关键字修饰的变 ... 
随机推荐
- iOS开发——图层OC篇&UIColor深入研究(CGColor,CIColor)
			UIColor深入研究(CGColor,CIColor) 由于跟人比较喜欢研究关于图层与动画方面的技术,正打算看看别人写的好东西,就遇到了好几个问题, 第一:UIClor类方法的使用 就是关于UICo ... 
- mongodb的分布式集群(4、分片和副本集的结合)
			概述 前面3篇博客讲了mongodb的分布式和集群,当中第一种的主从复制我们差点儿不用,没有什么意义,剩下的两种,我们不论单独的使用哪一个.都会出现对应的问题.比較好的一种解决方式就是.分片和副本集的 ... 
- C++ 二叉树遍历实现
			原文:http://blog.csdn.net/nuaazdh/article/details/7032226 //二叉树遍历 //作者:nuaazdh //时间:2011年12月1日 #includ ... 
- Web安全XSS
			Web安全XSS 简单的反射型XSS钓鱼演示 </form> <script> function hack(){ XSSImage=new Image; XSSImage.sr ... 
- jquery ui 改写cloes事件
			htmlAjax:{//模板ajax请求参数设置项 url:"template/task/task_create.html", data ... 
- Phone List
			Problem Description Given a list of phone numbers, determine if it is consistent in the sense that n ... 
- JavaScript中交换两个变量的值得三种做法(代码实现)
			javascript在编程时经常会涉及到如何交换两个变量的值,例如常见的冒泡排序,快速排序等:下面我讲根据自己近期所学总结几种常见的交换两个变量值的方法: 方法一:借助第三方变量交换两个变量的值 va ... 
- jQuery全选与反选,且解决点击只执行一次的问题
			<html> <head> <script src="jquery-1.11.1.min.js" type="text/javascript ... 
- 深入理解HTTPS通讯原理
			一.HTTPS简介 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer),简单来讲就是加了安全的HTTP,即HTTP+SSL:我们知 ... 
- Service Discovery with Apache Curator
			Curator的介绍 Curator就是Zookeeper的一个客户端工具(不知道Zookeeper的同学可以到http://www.ibm.com/developerworks/cn/opensou ... 
