您的位置 首页 java

Java编程思想:字段和方法

一旦定义了一个类(在 Java 中你所做的全部工作就是定义类,产生那些类的对象,以及发送消息给这些对象),就可以在类中设置两种类型的元素:字段(有时也被称作数据成员)和方法(有时被称作成员函数)。字段可以是任何类型的对象,可以通过其引用与其进行通信;也可以是基本类型中的一种。如果字段是对某个对象的引用,那么必须初始化该引用,以便使其与一个实际对象(如前述,使用 new 来实现)相关联。

每个对象都为自己的数据成员保有存储空间;数据成员不会在对象之间共享。下面是定义了一些数据成员的类示例:

 class DataOnly { 
 int i; 
 float f; 
 boolean b; 
 } 
 

这个类并没有做任何实质性的事情,但我们可创建一个对象:

DataOnly d = new DataOnly(); 
 

可将值赋给数据成员,但首先必须知道如何引用一个对象的成员。为达到引用对象成员的目的,首先要写上对象 句柄 的名字,再跟随一个点号(句点),再跟随对象内部成员的名字。即“对象句柄.成员”。例如:

d.i = 47; 
d.f = 1.1f; 
d.b = false; 
 

一个对象也可能包含了另一个对象,而另一个对象里则包含了我们想修改的数据。对于这个问题,只需保持

“连接句点”即可。例如:

myPlane.leftTank.capacity = 100; 
 

除容纳数据之外, DataOnly 类再也不能做更多的事情,因为它没有成员函数(方法)。为正确理解工作原理,首先必须知道“ 自变量 ”和“返回值”的概念。我们马上就会详加解释。

主成员的默认值

若某个 主数据 类型属于一个类成员,那么即使不明确(显式)进行初始化,也可以保证它们获得一个默认值。

主类型 默认值

Boolean false 
 Char  '\u0000'(null) 
 byte  (byte)0 
 short  (short)0 
int 0 long 0L 
float 0.0f 
double 0.0d 
 

一旦将变量作为类成员使用,就要特别注意由Java分配的默认值。这样做可保证主类型的成员变量肯定得到了初始化( C++ 不具备这一功能),可有效遏止多种相关的编程错误。

然而,这种保证却并不适用于“局部”变量——那些变量并非一个类的字段。所以,假若在一个函数定义中

写入下述代码: int x ;

那么 x 会得到一些随机值(这与 C C++ 是一样的),不会自动初始化成零。我们责任是在正式使用 x 前分配一个适当的值。如果忘记,就会得到一条编译期错误,告诉我们变量可能尚未初始化。这种处理正是 Java 优于 C++ 的表现之一。许多 C++ 编译器会对变量未初始化发出警告,但在 Java 里却是错误。

文章来源:智云一二三科技

文章标题:Java编程思想:字段和方法

文章地址:https://www.zhihuclub.com/180330.shtml

关于作者: 智云科技

热门文章

网站地图