Java学习之路(三)--Thinking in Java

在Java的世界里,“万物皆对象”。这就体现了Java的设计理念。

       既然万物皆对象,任何对象引用的创建过程中,都必须初始化。这就好比电视和遥控器的关系。遥控器是你电视的引用,创建了电视的实例,这个实例就是遥控器。它可以控制电视的一切行为。这其中包括了实例化的一部分。

      任何对象实例化创建的过程中都必须初始化。所谓初始化,对于class对象(我们所想当然认为的),class中有构造器,类似C++的构造函数。而对于基本数据类型(即字段)的初始化,比如int,short,long,double等,最好创建的过程中直接初始化,虽然这些字段在创建的过程中可能编译器默认初始化这些对象,但是,既然都是对象,我们最好初始化,做到掌控全局。

       在初始化的过程中,初始化的顺序也尤其重要。虽然Java比C/C++改进了一些,比如:int i = f();

       int f(){return 11;}​在C/C++中需要对函数f()进行声明,但在Java中却不需要这么做。

而下面这段代码:

       

 1 public class test{
 2 
 3               int i = g(j);    //Illegal forward reference
 4 
 5               int j = f();
 6 
 7               int g(int i){
 8 
 9                      return 2 * i;​
10 
11               }​
12 
13               int i = f();
14 
15               int f(){return 11;}
16 
17 }​

       在Java中是行不通的。因为你在没有初始化j的情况下初始化i。

原文地址:https://www.cnblogs.com/zhaoyansheng/p/4824729.html