在Java中,一个类可以定义Field成员及方法(Method) 成员。 先来定义一个程序:
public class Ball { 在Java中,类的存取权限修饰词有"public"、"protected"、"private"三个,如果在声明成员时不使用存取修饰词,则默认以包 (package)为存取范围,也就是说在package外就无法存取,这些存取修饰,之后在 包(package) 还会见到说明。 在这个程序中,您定义了一个Ball类,当中定义了radius与name两个field成员,这两个数据成员被声明为"private",表示它是 “私用成员”(Private member),它只能在同一个类中被使用,不可以直接藉由对象引用名称来存取它。 再来看到方法(Method)成员,它被声明为"public",表示它可以被程序调用,一个方法成员为一小个程序片段或一个单元(Unit),这个程序 片段可重覆被调用使用,并可传入参数或传回一个数值,一个方法成员的基本声明与定义方式如下 : 存取修饰 传回值类型 方法名称(参数列) {
// 实现 return 传回值; } 参数列用来告知方法成员执行时所需的数据,如果传入的参数是基本数据类型(Primitive data type),则会将值复制至参数列上的变量,如果传入的参数是一个对象,则会将参数列上的变量指向指定的对象。 方法区块中可以声明变量(Variable),变量在方法执行结束后就会自动清除,如果方法中的变量名称与类数据成员名称同名,则方法中的变量名称会暂 时覆盖类field数据成员的作用范围,同样的参数列上的参数名称也会覆盖field数据成员的作用范围,如果此时要在方法区块中使用 field成员,可以使用this关键字来特别指定。 方法的传回值可以将计算的结果或其它想要的数值、对象传回,如果是对象,则将传回的对象给接受的变量引用。 在对象导向程序设计的过程中,有一个基本的原则,如果field成员能不公开就不公开,在Java中就是声明其为"private",这是“信息的最小化”,所以在程序中,private成员就经由setXXX()与getXXX()的公开方法来进行设定或存取,而不是直接调用该 field数据成员来存取。 Math.PI是由Java所提供的功能变量,它定义了圆周率3.14159......,在Math类中还包括有许多公用的数学功能函数,您可以自行查询 java.lang.Math 线上说明文件以得知这些功能。 另外可以注意到,autoboxing、 unboxing 在方法的参数列中是可以作用的,也就是说如果您的方法中是这样设计的: public class SomeClass {
.... public void someMethod(Integer integer) { ...... } .... } 您可以使用这样的方式来设定参数: SomeClass someObj = new SomeClass();
someObj.someMethod(1); autoboxing、unboxing会自动作用,但记得要小心使用这个功能。 一般在命名类时,类名称首字会大写,而方法名称首字是小写,名称命名时以一目了解名称的作用为原则,上面所采取的都是骆驼式的命名方式,也就是每个单字的首字予以适当的大写,例如someMethodOfSomeClass这样的方式,这是常见的一种命名惯例。 为field成员设定setXXX()或getXXX()这类的方法时,XXX名称最好与field名称相对应,例如name这个field 成员对应的方法,可以命名为setName()与getName(),而radius这个成员,则对应于setRadius()与getRadius() 这样的名称,如此阅读程序时可以一目了解setter与getter方法的存取对象。 |