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的人都应该认识这个关键字.用这个关键字修饰的变 ...
随机推荐
- Quartz中Cron表达式使用方法
Quartz中CronTrigger支持日历相关的反复时间间隔(比方每月第一个周一运行),而不是简单的周期时间间隔. 它的调度规则基于 Cron 表达式. 以下就来说一下Cron表达式的规则及使用方法 ...
- C# Socket基础(一)之启动异步服务监听
本文主要是以代码为主..NET技术交流群 199281001 .欢迎加入. //通知一个或多个正在等待的线程已发生事件. ManualResetEvent manager = new ManualRe ...
- Linux网卡高级命令、IP别名及多网卡绑定 转
http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/26/3100065.html 本篇随笔将详细讲解Linux系统的网卡高级命令.IP别名 ...
- mysql 数据库性能追踪与分析
http://bbs.linuxtone.org/thread-20601-1-1.html
- 基于jquery tool实现的windows桌面效果
今天给大家分享一款基于jquery tool实现的windows桌面效果.这款实例适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: ...
- mkinitrd---简单介绍
转载:http://blog.csdn.net/zwcq82/article/details/4295481 原来对mkinitrd不是很了解.最近做内核升级,需要制作信息的initrd文件,发现出错 ...
- Big String 块状数组(或者说平方分割)
Big String 给一个字符串,长度不超过 106,有两种操作: 1. 在第 i 个字符的前面添加一个字符 ch 2. 查询第 k 个位置是什么字符 操作的总数不超过 2000 如果直接模拟的话, ...
- 【阿里云产品公测】rds测试感受
阿里云用户:cncbase 公司于10.1决定改变原来的服务器自建数据库,使用rds.于近日开通rds,进行了一些测试. 信息量:500字节左右每条信息,约200万条信息/小时的吞吐量. 信息 ...
- 【Linux/Ubuntu学习 12】ubuntu下对/etc/profile误修改导致系统不能登录
etc/profile里设置环境变量导致无法登录解决 1,因为不小心在 etc/profile里设在环境变量导致无法登录 不要在 etc/profile里设置 export PATH这样会导 ...
- Unix系统安装MySQL-python出现UnicodeDecodeError错误解决方法
今天装MySQL-python时候出现了这个错误: error: command ---------------------------------------- Cleaning up... Com ...