JAVA学习笔记整理(2)

第2章一切都是对象

1. 用引用操纵对象

String s;

s是一个引用变量;它可以引用一个String对象;

String s = new String(“abc”);

s 引用了一个String对象,该对象的初始值为"abc”;

2. 所有的对象都存储到”堆(heap)“里;对象的引用变量存储到”堆栈(stack)“里;基本类型(boolen, char, byte, short, int, long, float, double, void)存储到“堆栈”里;

3. Java中的数组:当创建一个数组对象时,实际上是创建了一个引用数组,并且每个引用都会自动被初始化为null。在使用任何引用前,必须为其指定一个对象。

4.对象的作用域

{

String s = new String(“abc”);

}

引用s在作用域的终点(右花括号)消失了。但是String对象仍然继续占据内存空间;垃圾回收器会监视用new创建的内存空间,并辨别那些不会再被引用的对象。随后,释放这些对象的内存空间,以便其他新的对象使用。

5. 类

class Dog {

private int weight;

private int color;

private boolean sex;

private final female = 0;

private final male = 1;

public void run() {return;}

public void bite() {return;}

public boolean getSex() { return sex = female;}

}

class是定义类的关键字;类结构主要由两部分构成:数据成员,方法成员。

方法成员的基本组成部分包括:名称,参数,返回值和方法体。方法名和参数列表唯一地标识出某个方法。JAVA中的方法只能作为类的一部分来创建。方法只有通过对象才能被调用,且这个对象必须能执行这个方法调用。这种调用方法的行为称为“发送消息给对象”。

参数列表中的每个参数传递的是对象的引用。

6. 构建JAVA程序

名字可见性:为了保证一个类库生成不会与其他类库名字混淆,JAVA设计者希望程序员反过来用自己的Internet域名。如果你没有,你自己可以杜撰一个,当然确保它的唯一性。例如,我的博客域名是feichai.cublog.cn,那么我可以使用cn.cublog.feichai作为我自己创建的类库名的前缀。

import关键字指示编译器导入一个包,也就是一个类库。

Import java.util.ArrayList;

这行代码告诉编译器,你想使用JAVA的ArrayList类。但是util包含了数量众多的类,有时你想使用其中的几个,同时又不想明确地逐一声明,那么使用通配符"*”来达到目的:

import java.util.*;

7. static关键字

当声明一个事物是static时,就意味着这个域(数据成员)或者方法不会与包含它的那个类的任何对象实例关联在一起。所以,即使从未创建某个类的任何对象,也可以调用其static方法或者访问其static域。

调用static域有两种方法:可以通过一个对象去调用它;也可以直接通过其类名去调用。非静态域则只能通过对象实例去调用。

8. 第一个JAVA程序

// HelloDate.java

import java.util.*;

public class HelloDate {

public static void main(String[] args)

{

System.out.println("Hello, it's: ");

System.out.println(new Date());

}

}

有一个特定类库自动导入到每个JAVA程序:java.lang;

使用import关键字,导入JAVA程序所需要的类库;这里导入了java.util.*,是因为程序里使用了Date类,属于java.util类库。

main方法是程序的入口,形式如下所示:

public static void main(String[] args)

编译和运行程序:

javac HelloDate.java

java HelloDate

运行结果:

Hello, it's:

Wed Nov 26 21:32:49 CST 2008

9. 注释和javadoc

注释有两种:

/* ... */

//

javadoc可以将注释提取自动生成文档。

javadoc所需的注释的格式:/** ... */

javadoc只能为public和protected域进行文档注释。

javadoc的输出结果是HTML文档。

javadoc文档示例

// HelloDate.java

/** The first Thinking in Java example program.

* Display a string and today's date.

* @author Bruce Eckel

* @version 4.0

*/

import java.util.*;

public class HelloDate {

/** Entry point to class & application.

* @param args array of String arguments

* @throws exceptions NO exceptions thrown

*/

public static void main(String[] args)

{

System.out.println("Hello, it's: ");

System.out.println(new Date());

}

}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzyzjp.html