第6章Java中类、对象、接口及包的概念 H 类是对一个或几个相似对象的描述,它把不同对 象具有的共性抽象出来,定义某类对象共有的变量和 方法,从而使程序员实现代码的复用,所以说,类是 同一类对象的原型。创建一个类,相当于构造一个新 的数据类型,而实例化一个类就得到一个对象。Java 为我们提供了大量的类库,如果从已知类库入手来构 造自己的程序,不仅能有效地简化程序设计,而且能 很好地学习面向对象程序设计方法 其实,前面很多例子已经对类的组成有了明确地 说明,一个类的实现包含两部分内容:声明和实体 类的各部分组成如图61所示
第6章 Java中类、对象、接口及包的概念 类是对一个或几个相似对象的描述,它把不同对 象具有的共性抽象出来,定义某类对象共有的变量和 方法,从而使程序员实现代码的复用,所以说,类是 同一类对象的原型。创建一个类,相当于构造一个新 的数据类型,而实例化一个类就得到一个对象。Java 为我们提供了大量的类库,如果从已知类库入手来构 造自己的程序,不仅能有效地简化程序设计,而且能 很好地学习面向对象程序设计方法。 其实,前面很多例子已经对类的组成有了明确地 说明,一个类的实现包含两部分内容:声明和实体。 类的各部分组成如图6.1所示
随第6章JaVa中类、对象、接口及包的概念 类的声明 public class stack 变量定义 private Vector items, public stackOf 构造函数 items-new Vector(1o) 类的实体 public Object puch(Object item)i tems addElement(item) return item: public synchronized Object popoi int len=items. size 方法定义 throw new Empty Stack Exception obj=items. ElementAt(len-1) items. removeElementAt(len-1) return obj public boolean isEmpty Oi if(items. size=0) turn tr return false. 图6.1
第6章 Java中类、对象、接口及包的概念 图 6.1 public class stack { private Vector items; public Stack(){ items=new Vector(10); } public Object puch(Object item){ items.addElement(item); return item; } public synchronized Object pop(){ int len=items.size(); Object obj=null; if(len==0) throw new EmptyStackException(); obj=items.ElementAt(len-1); items.removeElementAt(len-1); return obj; } public boolean isEmpty(){ if(items.size()==0) return true; else return false; } } 类的实体 类的声明 变量定义 构造函数 方法定义
随第6章JaVa中类、对象、接口及包的概念 6.1.1类的声明 类声明包括关键字 class、类名及类的属性。类名 必须是合法的标识符,类的属性为一些可选的关键字。 其声明格式如下: Ipubliclprivate friendly protected [abstract][final] class className Extends superclassName]implements inter faceNameList 其中,第一项属于访问控制符,它不仅针对于类, 类的变量、方法的访问也有该项的限制,我们后面会 做专门的介绍。其他的修饰符说明如下
第6章 Java中类、对象、接口及包的概念 6.1.1 类的声明 类声明包括关键字class、类名及类的属性。类名 必须是合法的标识符,类的属性为一些可选的关键字。 其声明格式如下: [public|private|friendly|protected] [abstract][final] class className [extends superclassName][implements interfaceNameList] {...} 其中,第一项属于访问控制符,它不仅针对于类, 类的变量、方法的访问也有该项的限制,我们后面会 做专门的介绍。其他的修饰符说明如下:
第6章Java中类、对象、接口及包的概念 H ● abstract:声明该类不能被实例化 final:声明该类不能被继承,即没有子类。 class class Name:关键字 classi告诉编译器表示类的声 明以及类名是 class name。 ● extends super class Name: extends语句扩展 super class Name为该类的父类
第6章 Java中类、对象、接口及包的概念 ● abstract:声明该类不能被实例化。 ● final:声明该类不能被继承,即没有子类。 ● class class Name:关键字class告诉编译器表示类的声 明以及类名是class Name。 ● extends super class Name:extends 语句扩展super class Name为该类的父类
第6章Java中类、对象、接口及包的概念 H ● implements inter face Name List:声明类可实现 一个或多个接口,可以使用关键字 implements并且在其 后面给出由类实现的多个接口名字列表,各接口之间 以逗号分隔。如图6.1中的 public class stack 即为类的声明
第6章 Java中类、对象、接口及包的概念 ● implements interface Name List:声明类可实现 一个或多个接口,可以使用关键字implements并且在其 后面给出由类实现的多个接口名字列表,各接口之间 以逗号分隔。如图6.1中的 public class stack {...} 即为类的声明