在Java中,一切都是对象,而对对象的操作,实际上是借由引用进行的,好比电视机(对象)与遥控器(引用),甚至可以没有电视而直接操作遥控器(虽然会报错 )!
几乎所有的编程都需要用到基本类型(int、char。。。),Java与c一样,直接在堆栈中创建变量,而不是引用。但一切都是对象,Java也提供对应的包装器类型,可以像其他对象通过引用来操作。Java还提供了BigInteger和BigDecimal两个处理高精度的类。
数组也是对象,通过new来新建,并且通过引用来操作。
Java也存在作用域,在作用域里定义的变量只存在于作用域里,对象虽不受作用域的控制,一直存在,但对于这个对象的引用却会在作用域结束后消失,而其所引用的对象则沉溺于内存中无法找到,并在编译器确定不再需要后由垃圾回收器清理。
类是对象的图纸,定义了实例域(数据)和方法(动作)。如果实例域是基本数据类型,即便没有将其初始化,Java也会给其一个默认值,但这仅限于实例域,仅限于实例域,仅限于实例域。
Java对于方法的定义与c类似。而参数则依旧是引用。
Java中的包(package)是一些类的大集合,并且有类似于c++中namespace的作用。包可以通过import来引用。
使用static关键词可以确立一个与对象无关,而至于类相关联的实例域,可以理解为类数据。该类的所有对象共享一个静态成员。想要使用一个静态成员,不仅可以常规的使用对象.数据,更可以使用类.数据(效果更好)。static静态方法与静态数据思维相似,但静态方法与非静态方法的区别并不是很大,其中一个最重要的用途就是在不创建类的对象的情况下直接调用方法,这一点对于main方法来说很重要。
在定义一个类时,如果我们没有建立一个构造器,则编译器会自动给我们一个默认构造器,而一旦我们建立了一个构造器,则编译器不会为我们创造默认构造器。