### 清华JAVA教程doc版知识点总结
#### 面向对象编程(OOP)概念
1. **一切皆对象**:在纯粹的面向对象程序设计方法中,所有的实体都被视为对象。这些对象不仅可以存储数据,还能执行特定的操作来处理这些数据。例如,在类`Max`中,对象可以保存一个最大值,并提供更新最大值(`updateMax`)和获取最大值(`getMax`)的方法。
2. **程序结构**:面向对象的程序是由多个对象组成的集合。这些对象之间通过消息传递进行交互。消息传递实质上是对象间方法的调用。例如,`Shopping`对象可以通过发送消息给`Max`对象,要求其更新最大值。
3. **对象存储与封装**:每个对象都有独立的存储空间,可以用来存放其他对象。通过封装机制,可以基于现有的对象构建新的对象,从而提高程序的复用性和灵活性。
4. **类与实例**:对象是类的实例。类定义了对象的行为和状态。比如,`max`是`Max`类的一个实例,继承了`Max`类的所有属性和方法。
#### 构建Java程序基础
1. **Java Application与Java Applet**:Java程序主要分为两大类:Java Application(应用程序)和Java Applet(小应用程序)。Java Application是一个独立的应用程序,而Java Applet则是一种嵌入网页中的小型应用。
2. **第一个Java Application**:本节以编写一个简单的Java Application为例,演示了如何创建并运行一个基本的Java程序。程序的主要功能是打印当前系统的信息。
- **程序文件结构**:Java源文件通常以`.java`扩展名保存,编译后的字节码文件以`.class`扩展名保存。
- **导入包**:在程序中使用系统提供的类之前,需要通过`import`语句导入相应的包。例如,使用`java.util.Date`和`java.util.Properties`需要导入`java.util`包。
- **主方法**:每个Java Application必须包含一个主方法`main`,这是程序的入口点。方法签名必须为`public static void main(String[] args)`。
```java
public static void main(String[] args) {
// 主方法体
}
```
- **打印系统信息**:
- 打印当前日期:通过`new Date()`创建`Date`对象,并通过`System.out.println`打印。
```java
System.out.println(new Date());
```
- 获取系统属性:通过`System.getProperties()`获取`Properties`对象,然后使用`list`方法打印系统属性。
```java
Properties p = System.getProperties();
p.list(System.out);
```
- 打印内存信息:通过`Runtime`类获取运行时环境,然后打印总内存和空闲内存的大小。
```java
Runtime rt = Runtime.getRuntime();
System.out.println("Total Memory=" + rt.totalMemory() + " Free Memory=" + rt.freeMemory());
```
3. **对象生命周期**:Java中对象的创建、使用和销毁过程体现了对象的生命周期。创建的对象如果没有引用指向它,将会被垃圾回收器自动回收。
- 创建`Date`对象:创建`Date`对象并将其作为参数传递给`println`方法。一旦该方法执行完毕,对象将不再被引用,随后会被垃圾回收器回收。
```java
System.out.println(new Date());
```
- 调用静态方法:`System.getProperties()`是一个静态方法,无需创建对象即可调用。
以上内容涵盖了面向对象的基本概念以及如何构建一个简单的Java Application。这些基础知识对于初学者来说至关重要,可以帮助他们更好地理解Java语言的核心特性及其应用。