java(tm) 数据类型系统支持大量的原始(内嵌)数据类型,比如 int 表示整型数据,float 代表浮点型数据,等等,java 还支持 java 支持库(java packages)里的那些 class 定义(class-defined) 的数据类型。java 的所有原始类型都用小写字符串表示。
类 string 在 java 的基本核心包 java.lang 中定义。此类更完整的参考在包规范 java.lang.string中。(依据惯例,class 的名字是大小写字母混合的:每个单词的首字母大写。)
java 中有以下原生方法:
primitive type description
boolean true/false
byte 8 bits
char 16 bits (unicode)
short 16 bits
int 32 bits
long 64 bits
float 32 bits ieee 754-1985
double 64 bits ieee 754-1985
想纵览那些常用的非原生类型即 java 环境中提供的常用 class 的定义,请参阅标准 java 发行文档中的 java.lang 包,或者你的 java ide 提供的文档。
方法重载
但是,不是所有的狗(dog)叫声一样,因此为了在dog的实现中添加一些不同的叫法(bark),我们需要定义另一个 bark() 方法来接受用 string 表示的叫声:
class dog {
void bark() {
system.out.println("woof.");
}
void bark(string barksound) {
system.out.println(barksound);
}
}
dog 这样写也是正确的,虽然程序中有两个 bark() 方法,但它们的方法标记不同,java(tm) 解释器能正确选择该调用哪个方法。方法定义 "void bark(string barksound)" 表明其与 bark() 不同,它能接受一个 string 类型的参数 barksound。
另一个方法重载的例子:dogchorus,它创建了两个狗(dog)的实例 并为每个狗(dog) 设定了不同的吠叫(bark)行为 :
public class dogchorus {
public static void main(string[] args) {
dog fido = new dog();
dog spot = new dog();
fido.bark();
spot.bark("arf. arf.");
fido.bark("arf. arf.");
system.exit(0);
}
}
由于 dog 支持两种不同的吠叫(bark)行为,都以 bark() 命名,我们就可将程序设计成让 fido 做出两种行为。在 dogchorus 中,对 fido 和 spot 我们调用不同的 bark 行为。注意 fido 在它听到 spot 的叫声(bark)后,改变了自己的叫声(bark)。
闽公网安备 35060202000074号