类 \textcolor{red}{类} 类是对具有相同特性对象的封装组合,是 Java 程序的 基 本 单 位 \textcolor{red}{基本单位} 基本单位
源文件名与应用程序类名必须 相 同 \textcolor{red}{相同} 相同
最多只能有一个 p u b l i c 类 \textcolor{red}{public 类} public类
有且只有一个 m a i n 方 法 \textcolor{red}{main 方法} main方法
O b j e c t \textcolor{red}{Object} Object 是所有类的根
特点
- 面向对象
- 简单化
- 解释型、与平台无关
- 多线程
- 安全高效
- 动态性
实现机制
- Java 虚拟机(JVM)
- 字节代码
- 多线程
- 动态连接
- 异常处理
- 垃圾回收机制
- 内 存 跟 踪 \textcolor{red}{内存跟踪} 内存跟踪
- Java 运行环境(JRE)
面向对象的基本概念
- 抽象
- 封装
- “类”是程序封装的 最 小 单 位 \textcolor{red}{最小单位} 最小单位
- 继承
- 通过接口支持 多 重 \textcolor{red}{多重} 多重继承
- 多态
- 允许一个接口有多个方法实现的机制是多态
类与包
类的声明
【类修饰符】class 类名【extends 父类名】【implements 接口名列表】{类体}
类修饰符 | 说明 |
---|---|
public |
公
共
类
\textcolor{red}{公共类}
公共类,可被其他类访问或引用其成员变量和成员方法 m a i n ( ) 方 法 的 类 必 须 是 公 共 类 \textcolor{red}{main() 方法的类必须是公共类} main()方法的类必须是公共类 |
abstract | 抽 象 类 \textcolor{red}{抽象类} 抽象类,指明 不 能 实 例 化 \textcolor{red}{不能实例化} 不能实例化的类 |
final | 终 结 类 \textcolor{red}{终结类} 终结类,指名该类 不 能 有 子 类 \textcolor{red}{不能有子类} 不能有子类 |
无 | 只允许与该类 相 同 包 中 的 类 可 以 访 问 和 调 用 \textcolor{red}{相同包中的类可以访问和调用} 相同包中的类可以访问和调用,其他包中的类不能访问和使用 |
成员变量
【变量修饰符】 类型 变量名 【=初值】【,变量名【=初值】】,...;
变量修饰符 | 说明 |
---|---|
public | 允许 所 有 的 类 来 访 问 \textcolor{red}{所有的类来访问} 所有的类来访问该变量 |
protected | 仅允许 相 同 包 的 类 和 该 类 的 子 类 来 访 问 \textcolor{red}{相同包的类和该类的子类来访问} 相同包的类和该类的子类来访问 |
private | 仅允许 本 类 访 问 \textcolor{red}{本类访问} 本类访问的内部变量 |
static | 表示该变量是类变量,是该类全部对象共享的变量,
可
直
接
进
行
访
问
\textcolor{red}{可直接进行访问}
可直接进行访问 没有被 static 修饰的变量是实例变量(也称对象变量),只能通过对象来访问它 |
对象名.类变量名
对象名.实例变量名
成员方法
【方法修饰符】 返回值的类型 方法名(参数表){方法体}
方法修饰符 | 说明 |
---|---|
public | 允许 所 有 的 类 来 访 问 \textcolor{red}{所有的类来访问} 所有的类来访问该变量 |
protected | 仅允许 相 同 包 的 类 和 该 类 的 子 类 来 访 问 \textcolor{red}{相同包的类和该类的子类来访问} 相同包的类和该类的子类来访问 |
private | 仅允许 本 类 访 问 \textcolor{red}{本类访问} 本类访问的内部变量 |
static | 表示的是类方法,可直接进行访问和调用。不用 static 修饰的方法称为实例方法 |
abstract | 表示是抽象方法。没有定义方法体。static 方法和 final 方法都不允许是 abstract 方法 |
native | 其他语言代码的方法 |
synchronized | 表示多个并发线程对共享数据访问的控制 |
final | 表示是终结方法,不允许子类方法覆盖 |
包
package packageName(包的全名); //包的声明
import package1【.package2...】.类名|*(*表示全部类) //引入子包
对象创建、初始化、使用和删除
对象的创建
对象类型 对象变量名; //声明一个对象
对象变量名=new 对象类型(参数赋值); //用 new 实例化一个对象
对象类型 对象变量名=new 对象类型(参数赋值);
String str1=null; //给予一个空地址,值为 null
String str2=str1;
对象的初始化——构造方法
【类修饰符】类名(【形参列表】)【throws 子句】{方法体}
- 构造方法名与类名必须相同
对象的使用
对象引用.变量名 //访问对象的某个成员变量
对象名.调用的方法名或变量名 //访问对象的方法
对象的清除
- 依靠 Java 的垃圾回收机制回收垃圾
- 调用 System.gc(),请求垃圾回收
- Java 系统开始运行时,自动调用 java.lang.Object.finalize() 释放内存
- 在程序中调用重写的 finalize() 释放系统资源,其格式为:
protected void finalize() throws throwable{
... ...
super.finaalize();
}
Java 源程序结构
- package 语句
- import 语句
- public class 应用程序类名{
- class 类名{
- interface 接口名{
Java 程序编写及运行的过程
- Java Application
- 独立的应用程序
- Java Applet
- 嵌入 HTML 在浏览器中执行
- 不含 main 方法
<APPLET CODE=“TimeFlies.class” WIDTH=150 HEIGHT=25></APPLET>
appletviewer 文件名.html
注释
//单行注释
/*
*多行注释
*/
/**
可生成帮助文档的注释
*/