a2k Lecture5 51 Java类 Programming in Java JAVA
5-1 Programming in Java Java 类 Lecture5
食从 提纲 5-2 ·Java的类 >系统定义的类(JavaAPIs) >用户程序自定义的类 ·类的定义 ·对象 ·类成员的修饰符 Programming in Java JAVA
5-2 Programming in Java 提纲 • Java 的类 ➢系统定义的类(Java APIs) ➢用户程序自定义的类 • 类的定义 • 对象 • 类成员的修饰符
Java APIs 5-3 Java类库 -Java.lang -Java.corba -Java.io -Java.lang.reflect -Java,util -Java.rmi -Java.awt -Java.security -Java.awt.image -Java.util.zip -Java.awt.peer -Java.awt.datatransfer -Java.applet -Java.awt.event -Java.net -Java.sql Programming in Java JAVA
5-3 Programming in Java • Java 类库 Java APIs –Java.lang –Java.io –Java.util –Java.awt –Java.awt.image –Java.awt.peer –Java.applet –Java.net –Java.corba –Java.lang.reflect –Java.rmi –Java.security –Java.util.zip –Java.awt.datatransfer –Java.awt.event –Java.sql
使用Java APIs的方信 5-4 ·继承系统类 ·创建系统类的对象 直接使用系统类 如何使用?一import 例如: import java.awt.*; import java.awt.event.*; Programming in Java JAVA
5-4 Programming in Java 使用 Java APIs的方法 • 继承系统类 • 创建系统类的对象 • 直接使用系统类 • 如何使用?——import 例如: import java.awt.*; import java.awt.event.*;
a2水 美的组戒 5-5 Class Declaration Class Body public class Stack Variable private Vector items; public Stack(){ Constructor items new Vector(10); public Object push(Object item){ items.addElement(item); return item; public synchronized Object pop(){ int len items.size(); Object obj null; if (1en ==0) Methods throw new EmptystackException(); obj items.elementAt(len -1); items.removeElementAt(1en 1); return obj; public boolean isEmpty(){ if (items.size()==0) return true; else return false; protected void finalize()throws Throwable items null; Cleanup super.finalize(); Programming in Java JAVA
5-5 Programming in Java 类的组成
PhoneCard(1) 5-6 Class PhoneCard long cardNumber; private int password; double balance; String connectNumber; boolean connected; boolean performConnection(long cn,int pw){ if (cn =cardNumber &pw =password){ connected true; return; else connected false; return false; Programming in Java JAVA
5-6 Programming in Java Class PhoneCard { long cardNumber; private int password; double balance; String connectNumber; boolean connected; boolean performConnection(long cn, int pw) { if (cn == cardNumber && pw == password) { connected = true; return; } else { connected = false; return false;} } PhoneCard(1)
a2水 PhoneCard(2) 5-7 double getBalanceO{ if(connected) return balance; else return -1; 3 void performDialO{ if(connected) balance -=0.5; Programming in Java JAVA
5-7 Programming in Java double getBalance() { if (connected) return balance; else return –1; } void performDial() { if (connected) balance -=0.5; } } PhoneCard(2)
美的定义 5-8 定义 [类修饰符]class类名[extends超类紖implements 接口名,接口 类体 ·修饰符 -访问控制符 -抽象类(abstract) -最终类(final) Programming in Java JAVA
5-8 Programming in Java 类的定义 • 定义 [类修饰符] class 类名 [extends 超类名] [implements 接口名{,接口名} {类体} • 修饰符 – 访问控制符 – 抽象类(abstract) – 最终类(final)
对象的创建 5-9 对象变量的声明 type objectName; 对象的创建: 一New运算符:new(object type and arguments) PhoneCard myCard new PhoneCardOj 一系统自动为对象分配内存空间 对象的初始化: 一采用默认的初始化值: 一声名变量时初始化; 一使用“初始化块” 一使用构造函数初始化 Programming in Java JAVA
5-9 Programming in Java • 对象的创建: —New运算符: new (object type and arguments) PhoneCard myCard = new PhoneCard(); —系统自动为对象分配内存空间 对象的创建 • 对象变量的声明 type objectName; • 对象的初始化: —采用默认的初始化值; —声名变量时初始化; —使用“初始化块” —使用构造函数初始化
构造品数 5-10 ·与方法相似,但不同之处如下: 一构造函数名与类名相同; 一构造函数没有返回类型; 一构造函数的作用是完成对对象的初始化工作; 一构造函数一般不能由编程人员显式地直接调用; 一在创建一个类的新对象的同时,系统会自动调用该类 的构造函数为新对象初始化 ·初始化过程 一采用默认的初始化值(0,u0000,false,.nul) 一声名变量时初始化 一使用“初始化块” 构造函数 Programming in Java JAVA
5-10 Programming in Java 构造函数 • 与方法相似,但不同之处如下: —构造函数名与类名相同; —构造函数没有返回类型; —构造函数的作用是完成对对象的初始化工作; —构造函数一般不能由编程人员显式地直接调用; —在创建一个类的新对象的同时,系统会自动调用该类 的构造函数为新对象初始化 • 初始化过程 —采用默认的初始化值(0, \u0000, false, null) —声名变量时初始化 —使用“初始化块” —构造函数