java学习笔记:类和对象

1、
我们用关键字class声明类,类的声明创建一个类型名(type name)。

2、
类可以有三种类型的成员:
(1)域(field):与类及其他对象相关联的数据变量,其中保存着类或者对象的状态。
(2)方法(method):包含类的可执行代码并定义了对象的行为。
(3)嵌套类(nested class)和嵌套接口(nested interface):嵌套类和嵌套接口是那些嵌套在其他类或者其他接口中的类和接口。

3、
类声明的前面可以有类修饰符以指定类的特定属性:
(1)public:一个public类是可以公共访问的,任何人都可以声明对该类的对象的引用或者访问它的公共成员。如果没有该修饰符,类只能在自己的包内访问。

(2)abstract:一个抽象类被认为是不完整的,不能创建实例。通常,如果类中包含abstract方法,该方法就必须在子类中实现。

(3)final:final类不能有子类。

(4)strict floating point:定义了strictfp的类要求其中所定义的浮点算法都进行精确运算。

4、
类中的变量称为域(field),域的声明包括类型名、域名字和可选的初始化子句(initialization clause),该子句用于给予赋一个初始值。

+—————————-+
|类型名 |域名字 | 初始化子句 |
+—————————-+
|int | i | = 1; |
+—————————-+

5、
域声明的前面可以有如下修饰符:
(1)static
(2)final
(3)transient:与对象的串行化有关。
(4)volatile:与同步和内存模型有关。

6、
如果域没有初始化,那么其会被赋予默认的初始值:

+——————+
#类型 | 初始值 |
+——————+
#boolean | false |
#char | ‘\u0000’|
#btype |0 |
#short |0 |
#int |0 |
#long |0 |
#float |+0.0f |
#double |+0.0 |
#对象引用 |null |
+——————+

7、
有时我们希望一个域的实例被类的所有对象共享,这种域可以声明为static,称为静态域(static field)或类变量(class variable)。

当在类中声明一个static域后,就只存在这个域的一份拷贝,不管这个类创建了多少实例。

在我们自己的类中,static域可以直接访问,但从外部访问就要通过类名。示例如下:
System.out.println(Body.nextID);
其中,Body是一个自定义类,nextID是其中的一个静态域。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2009/08/11补充:

类的所有成员对类自身的代码代码而言,始终是可访问的,为了控制来自其他类的访问,类成员具有四种可能的控制修饰符:
private
private成员只能在自身中可以访问;
package
声明时不带访问修饰符的成员,只有相同包中干的代码可以访问。
proctected
子类、同一包中的类及类内部可以访问声明为protected的成员。
public
在类可以访问的地方,声明为public的成员都是可以访问的。

此条目发表在java/j2ee分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据