《Java编程思想》学习笔记(二)——构建Java类和Java程序

第二章的标题是“一切都是对象”,Bruce按照声明对象->定义类->构建Java程序的顺序,介绍了不少细节,现将这些知识点梳理如下:

个人总结的思路是(1)定义类->(2)实例化对象->(3)调用对象的方法(向对象发送消息)

(1)定义类

[访问修饰符]  class  类名  {

      [访问修饰符]  [静态修饰符]  类型  成员变量名;                                 //定义成员变量(字段)

      [访问修饰符]  [静态修饰符]  返回值类型  成员函数名(参数列表){       //定义成员函数(方法)

             //方法体

      }

}

Java中,如果成员变量为基本数据类型,在其定义时若未指定初始值,Java也会确保它获得一个默认值,此特点不适用于局部变量。

(2)实例化对象

实例化对象分两部分:定义对象的引用,为对象分配内存空间;两部分可以一起进行,也可以分开进行,例如:

String s = new String("abc");   或者

String s;

s = new String ("abc");

引用和指针的相同与不同:二者的相同之处是都指向一块内存,其内容都是内存的地址;但引用的地址在初始化后是没法改变的,而指针是可以重新指定其他内存地址。

通过new的方式为对象分配内存,该内存空间具体指的是堆,Java中有垃圾回收器,不需要再去考虑内存释放的问题。

(3)调用对象的方法

在对对象进行实例化后,为了完成具体的功能,便需要调用对象的方法,调用方式是:

对象名.方法名(参数列表);

了解了上述内容还无法构建一个完整的Java程序,下面结合一个具体的实例补充其他重要的内容:

//Main.java
import java.util.*;
import java.lang.System; //其实这个是自动导入的,这里写出的目的是为了后面对import的描述
/**
The first example program.
* Display a string and today's date.
*
@author :pickuper
*
@version:1.0
*/
public class Main{
public static void main(String[] args){
HelloJava hello
= new HelloJava();
hello.printContent();
}
}

public class HelloJava{
public void printContent(){
System.out.println(
"HelloJava");
System.out.println(
new Date());
}
}

(1)命名自定义类库(包):使用反转域名,使得命名空间唯一。

(2)使用其他类库:通过import导入包,格式参见示例程序,*是通配符,表示包含上级目录包含的全部类。

(3)static:一般情况下,属性和方法是依赖于对象的,即有了实例化的对象,才有了对象的属性,才能调用对象的方法;但用static声明类属性和方法后,二者便不再依赖于对象:对于static属性来说,一个类对应一个属性,即多个对象共享一个数据空间,而static方法则可以通过类名来调用,不需要引用对象名。

(4)注释与javadoc:后面进行详细介绍。

posted @ 2011-06-06 16:42  Pickuper  阅读(1630)  评论(0编辑  收藏  举报