Java的字段初始化规律
package 代码测试;
public class InitializeBlockClass {
{field=200;}
public int field=100;
public InitializeBlockClass(int value) {
this.field=value;
}
public InitializeBlockClass() {
}
}
public class obj {
public static void main(String[] args) {
InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field);
obj=new InitializeBlockClass(300);
System.out.println(obj.field);
}
}
输出结果为:100 300
分析
1 {field=200;} 该部分为类的初始化模块,在类中直接将语句包围起来,直接作为类成员,像这种成员多用与初始化类的字段。
2 在 public int field=100; 定义时初始化,所以obj.field值为100
3 obj=new InitializeBlockClass(300);
System.out.println(obj.field);
利用构造方法初始化,将field的值初始化为300,输出为300;
4 Java字段初始化的规律:
静态初始化生成实例(new之后)变成你赋给他的值,先执行静态初始化,如果没有实例化,按照初始化和构造方法在程序中出现的顺序执行。
当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。


Java的字段初始化规律的更多相关文章
- Java字段初始化规律:
Java字段初始化规律: Java进行初始化的地方有两个,初始化块和构造函数,其中初始化块又分为静态初始化块和实例初始化块(以上程序为实例初始化块).静态初始化块是类中由static修饰的初始化块,实 ...
- Java字段初始化规律
首先先附上一段代码:public class InitializeBlockDemo { public static void main(String[] args) { InitializeBloc ...
- java_字段初始化的规律、静态方法中访问类的实例成员、查询创建对象的个数
字段初始化规律: 当执行如下代码时 class InitializeBlockClass{ public int field=100; { field=200; } public Initialize ...
- JAVA字段的初始化规律
JAVA字段的初始化规律 1.类的构造方法 (1)“构造方法”,也称为“构造函数”,当创建一个对象时,它的构造方法会被自动调用.构造方法与类名相同,没有返回值. (2)如果类没有定义构造函数,Java ...
- Java继承的初始化
/** * Created by xfyou on 2016/11/2. * Java继承的初始化 */ public class Beetle extends Insect { int k = pr ...
- java类的初始化
转载:http://blog.csdn.net/moreevan/article/details/6968718 我们知道一个类(class)要被使用必须经过装载,连接,初始化这样的过程.下面先对这三 ...
- [转]java static final 初始化
http://tanbing1986411.blog.163.com/blog/static/7259798220103610224434/ java static final 初始化 1.stati ...
- JAVA类的创建: 创建JAVA的类 ,JAVA的字段,JAVA类的方法
1. 创建Java的类 如果说Java的一切都是对象,那么类型就是决定了某一类对象的外观与行为.可是类型的关键字不是type,而是class,创建一个新的类型要用下面的代码: 1 2 3 class ...
- 图示Java类的初始化顺序
Java类的初始化顺序 在开发中,知道Java类的初始化顺序才能让我们更加清楚地掌握程序的执行流程.先把结论贴出来,Java里,从图里的1~6,分别按顺序执行. 以下为代码验证阶段,一共三个类 ...
随机推荐
- linux下修改/etc/profile文件
inux下修改/etc/profile文件 2017年01月06日 14:30:12 白昙 阅读数:8540 标签: linux 更多 个人分类: linux 通常情况下,/etc/profile ...
- 报错解决——linux下执行sh出现异常"syntax error: unexpected end of file"
有时我们在linux下执行一个sh文件,会报错“SYNTAX ERROR:UNEXPECTED END OF FILE”,这个现象主要是工作的系统环境改变造成的. 若最初脚本中是在windows下,使 ...
- Windows平台Mysql表名变小写的解决过程
由于要弄某个项目的数据库设计文档,几百张表,如果弄在word文档里面一个个添加,效率比较低. 故分别使用了Mysql WorkBench(win版)和Powerdesigner 15来做这个设计文档. ...
- IOS 键盘弹出导致的position:fixed 无效问题
解决办法(还未测试): 只需要在中间部分外层div添加css样式position:fixed;top:50px; bottom:50px;overflow:scroll;就可以实现效果,无需插件.可拷 ...
- jsp在select中的option中编写if标签
<select onchange="lxx(this)"> <option value="">全部</option> < ...
- kfrobotaidlog查找
======查看最新的大于6的数量========== select c.questionid from (select a.questionid, b.clientQuestion from sim ...
- js关卡函数,throat函数实现,定时运行函数
function throat(callback,num){ var timer = null; callback = callback || function(){}; return functio ...
- JAVA代码(GET方式)请求URL(HTTP,HTTPS)
/** * * @param url 这个只支持http地址,不支持https * @param request * @return */ public static String sendMessa ...
- Java Selenium - 浏览器操作
浏览器主要操作方法来自接口 org.openqa.selenium.WebDriver , 实现于org.openqa.selenium.remote.RemoteWebDriver这个类,然后不同浏 ...
- Java语言基础问题
1. 一个Java类文件中可以有几个公有类 在eclipse中测试代码时会出现上图所示的错误,此处只允许用final或abstract来修饰类,也就是一个类文件中只能有一个public修饰的类,此下对 ...