`
文章列表
1. array reference   可以用这么一种观点审视数组:数组其实是一个特殊的类,我们在声明数组时得到的是数组对象的引用。   例如说: int[] a;//得到的a即是int[]对象的一个引用   此时int[]对象还没有初始化,我们只得到一个引用而已,所以int[]对象的length不确定,所以Java禁止类似这样的写法: int[5] a;//syntax error 从引用的角度来说,声明引用时也没必要知道int[]的length:那是int[]对象的事情,不管length是多少,引用本身还是一样的。 2. initialization of an array   ...
  姑且称包含main方法的类为main class。   在main方法里,若想直接调用main class的其他方法,必须将该方法设为static。换言之,main方法只能直接调用main class的static方法,non-static方法不能直接调用(原因很简单,因为main方法此时没有创建main class对象)。   同理,main方法对main class的field的直接访问也是如此。   不过,main方法可以直接调用main class的constructor(然后就能访问main class的non-static member了)。这从一个侧面说明,constructo ...

[#0x0000] static

    博客分类:
  • Java
1. static member/field/function     每new一个object即相当于申请了一块内存,用来存放这个object的member/field/function。两个object的member/field不尽相同,同时也许因为如此,导致两个object的function不尽相同,从而这两个object要占据两块内存,而且它们之间没有共享member/field/function。   如果有field/member/function只与class有关,即不会在不同的object中有不同的值或操作,亦即在所有的object中表现都一样,可以将其设置为static。可 ...

[#0x0001] initializer

    博客分类:
  • Java
  A block-formed initializer can be appended after the fields declared.   If the fields are static, the initializer can also be static too, which means it's only executed once. If the initializer is not static, it will be executed as many times as the class constructor will be, even if the fields are ...
Global site tag (gtag.js) - Google Analytics