码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA课后问题汇总(第四次课)

时间:2019-10-15 09:48:39      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:技术   bsp   ima   color   new   div   优先   顺序   动手   

1、动手动脑

技术图片

 

 由于类中定义了需要参数的构造方法,导致系统不再提供默认的构造方法。

 2、java字段初始化规律

技术图片

 

 源码如下:

 1 public class InitializeBlockClass {
 2     {
 3         field = 200;
 4     }
 5     public int field = 100;
 6     public InitializeBlockClass(int value){
 7         this.field = value;
 8     }
 9     public InitializeBlockClass(){
10         
11     }
12     public static void main(String[] args) {
13         // TODO Auto-generated method stub
14         InitializeBlockClass obj = new InitializeBlockClass();
15         System.out.println(obj.field);
16         
17         obj = new InitializeBlockClass(300);
18         System.out.println(obj.field);
19     }
20 
21 }

运行结果如下:

技术图片

 

 显然,java字段在初始化时优先按照对应调用的构造方法执行。若构造方法中没有对变量进行初始化,对于变量定义时初始化与初始化块,排在后面的将会覆盖前面的。

3、动手动脑:静态初始化块的执行顺序

技术图片

 

 1.静态初始化块只执行一次;2.创建子类型的对象时,也会导致父类型的静态初始化块的执行。

4、

技术图片

 

如果直接在静态方法中初始化含有实例对象的类会报错:

技术图片

 

 可以采用这样的方法来调用:

技术图片

 

JAVA课后问题汇总(第四次课)

标签:技术   bsp   ima   color   new   div   优先   顺序   动手   

原文地址:https://www.cnblogs.com/52bb/p/11674604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!