1、Java类
class ATypeName { /* Class body goes here */ }
在大多数面向对象的程序设计语言中,都习惯用class来定义,一个新类型的对象。以此引入一个新类型,然后用new来创建这种类型的对象:
ATypeName a = new ATypeName();
1.1 字段和方法
一旦定义了一个类(再Java中你所做的全部工作就是定义类,产生类的对象,以及发送信息的对象),就可以在类中设置两个类型的元素:字段(数据成员)和方法(成员函数)。
字段可以是任何类型的对象,也可以是基本类型中的一种。同时,加入字段对应着是某个对象的引用,那么必须初始化该引用。
1.2基本成员默认值
若类成员是基础数据类型,即使没有进行初始化,Java也会默认赋值(C++没有此项功能)。
但是,这些初始化对你的程序来说,可能是不正确、不合法的。所以最好明确的对变量进行初始化。
注:上述确保 初始化的方法并不适用于“局部”变量(即并非某个类的字段)。因此,如果在某个方法中定义有:
int x:
那么这个x得到的可能是任意值(与C和C++中一样),而不会被自动初始化为零。所以使用前一定要赋值,不然Java编译器会报错(C++不会,最多给予警告),这正是Java优于C++的地方。
2、方法、参数和返回值
2.1方法
方法的基本组成包括:名称、参数、返回值和方法体。
ReturnType methodName( /* Argument list */ ){
/* Method body */
}
在三行代码中ReturnType是明确调用方法之后返回值的类型。而参数列表给出了要传递给这个方法的消息的类型和名称。方法名和参数列表是标识方法唯一依据(统称为“方法签名”)。
方法在Java中只能依存于类,作为类的一部分。通过对象调用,且这个对象有权限执行这个方法(特例:子类继承父雷的private方法是不能执行的)。例如:
objectName.methodName(arg1, arg2, arg3);
如果这是一个返回值类型为int的方法,返回值类型必须和x的类型兼容。
int x = a.f();
2.2参数列表
参数列表必须制定每个所传递对象的类型和名字。想Java中任何传递对象的场合一样,这里传递的实际上是引用。
例:假设某方法接收String类型的参数,返回int类型
int storage(String s ) { //计算该字符串占用了多少字节
return s.length() * 2;
}
注:字符串每个字符大小都是16位(2个字节),以此来提供对Unicode字符集的支持。