Java语言程序设计 教学课件 作者 辛运帏 饶一梅 第五章.ppt
文本预览下载声明
第5章 类与对象 类的定义 类的定义 Java中类定义的一般格式为: 修饰符 class 类名 [extends 父类名]{ 类型 成员变量1; 类型 成员变量2; ...... 修饰符 返回值类型 成员方法1(参数列表){ 类型 局部变量; 方法体 } 修饰符 返回值类型 成员方法2(参数列表){ 类型 局部变量; 方法体 } ...... } 类的定义 定义中的各元素的具体含义是: class是关键字,类定义的开始,类似于type(类型)的含义; class前的修饰符可以有多个,用来说明并限定类的使用方式; 类名是用户为该类所起的名字,要遵从标识符的语法要求; extends是关键字,如果所定义的类是从某一个父类派生而来,那么,父类的名字应写在extends之后。Java中只允许单重继承,即父类只能有一个。 类定义中的数据成员变量可以含有多个,成员变量前面的类型是该变量的类型,可以是任意的类型; 类中定义的成员方法也可以有多个。方法体中定义的局部变量,只在该方法内有效。 类的定义示例 例5-1 日期类的定义示例 public class Date{ int day; int month; int year; } 该定义表明Date类型是一个类类型,其存储结构由三个整型量组成,分别为day、month和year。 例5-2 定义类DataTestOnly public class DataTestOnly { int iVar; float fVar; boolean bVar; char cVar; int myPrint() { System.out.println(“Nothing !”); return 0; } } 例5-2中增加了成员方法,方法名是myPrint()。因为这个方法内没有定义主函数,也没有定义类的任何实例,所以现在还不能执行。 访问权限修饰符 访问权限修饰符有public、private、protected,它们既可以用来修饰类,也可以用来修饰类中的成分,包括数据成员及成员方法。此外,还有一个修饰符是friendly。这个修饰符也称为包访问权限,是默认修饰符。如果一个成分前面没有使用任何修饰符的话,隐含地认为使用的是friendly。使用包访问权限限定的成份可以在同一个包内使用,但对于包外的成员,这个成份是不可见的,也就是不能被包外的成员使用。 访问权限修饰符 使用public修饰的元素是公有的,意味着它可以被程序中的任何对象在程序的任何位置来访问,这是最不受限制的权限。 使用private修饰元素时,表明被修饰元素的使用权限最窄,这样的成分称为私有的。定义为私有的方法或是数据成员,只能被本类的实例对象所访问,其他任何类都无法访问。由此体现数据隐藏的特点。如果想让其他人共享的成员,应该使用其他权限的修饰符。 访问权限修饰符 例5-3 类的私有成员变量示例 public class Date{ private int day; private int month; private int year; } class DateUser { // Date类外 public static void main(String args[]) { Date mydate = new Date(); mydate.day = 21; // 直接访问,错误! } } 在类外不能直接访问Date的三个私有成员变量,取值或赋值的操作只能通过调用Date类的成员方法来完成。 访问权限修饰符 对象的创建 java中的对象有基本数据类型的对象和类对象两种,对应的创建过程也有两种方式。 对于类类型,需要先说明类的变量,也就是定义这个类型的变量,然后再创建对象,这两步缺一不可。 变量名 = new 类类型(参数列表); 如果还没有说明变量,也可以将变量的说明与对象的创建合起来完成,格式如下: 类类型 变量名 = new 类类型(参数列表); 对象的创建 对象创建语句中的new是Java用来分配内存的关键字,它表明到这一步系统才真正为对象分配内存。 如:Date yourbirthday = n
显示全部