Java字段初始化规律
2024-10-06 11:17:06
首先先附上一段代码:public class InitializeBlockDemo {
public static void main(String[] args) { InitializeBlockClass obj=new InitializeBlockClass();
System.out.println(obj.field); obj=new InitializeBlockClass(300);
System.out.println(obj.field);
} } class InitializeBlockClass{
//
//public int field=100;
//
{
field=200;
} public int field=100; public InitializeBlockClass(int value){
this.field=value;
} public InitializeBlockClass(){ }
}
下面开始介绍一下,在Java中字段的初始化规律,通常使用三种方法:类成员定义的默认值,类的构造方法,类的初始化块。
1、成员定义的默认值
public int field=100;
通常我们在定义一个变量时,往往会赋予一个初始值。因此在创建类的对象时,便能给于初值。
2、类的构造方法
public InitializeBlockClass(int value){
this.field=value;
} public InitializeBlockClass(){ }
类的构造方法,也就是C/C++所指的的“构造函数”,当创建一个对象的时候,其类的构造方法便会被自动调用。构造方法的命名方式很简单,与类名相同,没有返回值。根据参数的不同可以进行重载。当我们没有定义构造方法时,Java编译器会默认一个没有参数的构造方法,但当我们定义了构造方法,系统将不会提供默认的构造方法。因此在定义构造方法时,一定满足调用所需要的条件。
3、类的初始化块
{
field=200;
}
在类中使用“{”,“}”将语句包含,在内对成员进行初始化。
当我们在调用时,其调用顺序又会是什么呢?经过对上述函数的改造,运行,我们可以得到结果,其运行顺序于调用的时间有关,取决于调用时成员的结果如上述程序,当调用的构造方法无参数时,其结果为field的最后得数 100,而将初始化块和定义顺序调过来时,其答案变为 200。在调用有参数的构造方法时,其答案便成了参数的结果 300。
最新文章
- SQL面试笔试经典题(Part 1)
- mysql 远程连接数据库的二种方法
- CentOS_7.2编译安装PHP_5.6.20添加扩展模块
- flash flex 程序出现错误 Error #2032
- 一个CURL
- 2013 duilib入门简明教程 -- 总结 (20)
- ERWin 7.2下载安装及注册机
- Oracle sqlldr导入导出txt数据文件详解
- Tomcat6启用Gzip压缩功能
- TCP/IP协议原理与应用笔记23:路由选择模块 和 路由表的设计
- POJ 3393 Lucky and Good Months by Gregorian Calendar 模拟题
- 微软 Build 2016
- ACM暑期训练总结
- Python SMTP邮件发送
- Linux上静态库和动态库的编译和使用
- Java的内存管理机制之内存区域划分
- hdu4280 Island Transport 最大流
- vue各生命周期适合做的业务逻辑
- SOC中的DFT和BIST对比与比较-IC学习笔记(二)
- bzoj 2144: 跳跳棋——倍增/二分
热门文章
- 2019icpc南昌网络赛_I_Yukino With Subinterval
- python实现煲机脚本
- 【LeetCode】240-搜索二维矩阵 II
- 使用dubbo引用和发布服务时出现的异常:HTTP状态500 - 请求处理失败; 嵌套异常是com.alibaba.dubbo.rpc.RpcException:无法在服务cn.e3mall.service.ItemService中调用方法getTbItemById。使用dubbo版本2.5.3在消费者...
- Django ORM 知识点总结
- (七十)c#Winform自定义控件-饼状图
- Webpack 打包太慢? 试试 Dllplugin
- 树莓派3安装openwrt
- [LeetCode]sum合集
- elastic操作-索引重命名,索引副本数修改