第15讲 面向对象(3)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.3 静态代码块
例3:静态代码块 验证
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.3 静态代码块
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.4 单例模式
参考教材章节
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
【内部类】
在一个类的类体以内定义的类,就是内部类,这个内部类
所在的类称为外部类。 根据内部类的位置、修饰符和定义的方式可分为:成员内 部类、静态内部类、方法内部类。
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
Inner。
Outer类中定义一个test()方法和一个成员变量num。其中 ,test()方法中创建内部类Inner的实例对象,并通过该对象 调用Inner类的show()方法,将num值进行打印。 Inner类中定义一个show()方法,在show()方法中输出外部
类的成员变量num的值。
河南经贸职业学院
M格式的JDK帮助文档。
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
河南经贸职业学院
信息管理系· 武俊琢
本讲小结
static关键字
静态变量
静态方法 静态代码块
内部类
成员内部类
静态内部类
方法内部类
河南经贸职业学院
信息管理系· 武俊琢
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.1 静态变量
例1:定义一个学生类,定义成员变量schoolName为静态变量
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.1 静态变量
河南经贸职业学院
河南经贸职业学院
河南经贸职业学院 河南经贸 河南经贸 河南经贸
【静态代码块】
在Java类中,使用一对大括号{}括起来的若干行代码被称为 一个代码块,用static关键字修饰的代码块称为静态代码块。
【静态代码块的执行】 当类被加载(将类的class文件从磁盘调入内存的过程)时 ,静态代码块会执行。
由于类只在第一次引用时加载一次,因此静态代码块只执行一次 , 在程序中,通常使用静态代码块来对类的成员变量进行初始化。
【成员内部类】在类体中直接定义的类,即与成员变量 、成员方法并列定义的类。 在外部类中访问内部类的成员变量或成员方法也必须 创建内部的对象,在内部类中可以直接访问外部类的成 员。
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
例4:定义Outer类作为外部类,在该类中定义一个内部类
3.8 Java帮助文档
在线文档:
/apidocs/apidoc?api=jdk_7u4
官网在线文档
/javase/7/docs/api/
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
名”的形式来访问。 static关键字只能修饰成员变量,不能修饰局部变量。
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.1 静态变量
【静态变量】
如: public class Student{ public static String schoolName; } 则在其它类中可以使用Student.schoolName来引用该变量。
以下三个成员变量引用是完全相同的变量 Student.schoolName stu1.schoolName stu2.schoolName
河南经贸职业学院 信息管理系· 武俊琢
3.6 static关键字—3.6.2 静态方法
【静态方法】
被static关键字修饰的方法称为静态方法
静态方法也是类的所有对象共享,可以使用“类名.方法名()” 的方式来访问,也可以通过类的实例对象来访问。
Java程序设计
第15讲 面向对象(3)
3.6 static关键字 3.7 内部类 3.8 Java的帮助文档
1
知识回顾
什么样的方法是构造方法?
方法名与类名完全相同 方法的定义时没有返回值类型的定义 方法体内不用用return返回一个值
构造方法作用是什么?
创建对象,并为对象初始化
作业
自学以下内容:
3.5 垃圾回收
3.6.4 单例模式 3.8.1 Java的文档注释
3.10习题
河南经贸职业学院
信息管理系· 武俊琢
• 3.8.2 JDK帮助文档的使用
– JDK帮助文档是Oracle公司针对JDK中所有的Java类提供的一整套帮 助文档,它详细介绍了所有Java类的属性、方法、继承关系和示例用 法等内容 – JDK帮助文档通常有两种,一种是Oracle公司官方发布的HTML格式的
JDK帮助文档,一种是由一些Java爱好者根据官方文档制作而成的CH
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.2 静态内部类
【静态内部类】可以使用static关键字来修饰一个成员内部 类,该内部类被称作静态内部类。 静态内部类可以在不创建外部类对象的情况下被实例化 ,创建静态内部类对象的具体语法格式如下:
外部类名.内部类名 变量名=new 外部类名.内部类名();
-version 用来指定输出文档中需包含版本信息
-author 用来指定输出文档中需包含作者信息
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
在文件名上右单击 选择[Export]命令 选择JavaJavadoc Next
河南经贸职业学院
信息管理系· 武俊琢
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
从运行结果可以看出:
(1)外部类中可以使用成员内部类(创建内部类对象) (2)内部类可以直接访问外部类的成员
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.2 静态内部类
例6:将上例中的Inner类改为静态内部类
注意: 静态内部类的方法中只能访 问外部类的静态成员
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.3 方法内部类
【方法内部类】方法内部类是指在成员方法中定义的类, 它只能在当前方法中被使用。
【教学目标】
掌握静态变量、静态方法、静态代码块的基本概念和使用
方法,掌握内部类的基本概念和基本使用方法。
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.1 静态变量
【静态变量】 在一个Java类中,可以使用static关键字来修饰成员变量
,该变量被称作静态变量。
【说明】
静态变量可以被所有该类的对象共享,可以使用“类名.变量
从运行结果可以看出,方法内部类也可以访问外部类的成员变量num
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
• Java的文档注释
– 文档注释用于是嵌入到程序当中的帮助信息,用于说明如何使用当前
程序,它以“/**”开头,以“*/”标志结束 – Java中提供了javadoc命令,它可以将这些帮助信息提取出来,自动生 成HTML格式的帮助文档,从而实现程序的文档化
this([参数值列表]);
河南经贸职业学院
信息管理系· 武俊琢
作业中的问题
张超(杨威) 柴浩虹 61zhaoyu14 19李通14 李帅强 陈俊
河南经贸职业学院
信息管理系· 武俊琢
本讲要点
【要点】
static关键字(静态变量、静态方法、静态代码块) 内部类(成员内部类、静态内部类、方法内部类)
【注意】
在一个静态方法中只能访问静态成员
因为:非静态成员需要先创建对象才能访问,而静态方法在被调
用时可以不创建任何对象。
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.2 静态方法
例2:静态方法定义与调用
河南经贸职业学院
信息管理系· 武俊琢
3.6 static关键字—3.6.3 静态代码块
河南经贸职业学院
信息管理系· 武俊琢
Байду номын сангаас
3.8 Java帮助文档—3.8.1 Java的文档注释
@author:用于对类的说明,表示这个程序的作者 @version:用于对类说明,表示这个程序的开发版本号 @param:用于对方法的说明,表示方法上定义的参数以及 参数对应的说明 @return:用于对方法的说明,表示方法的返回值代表的意 义
构造方法是如何调用的?
用new创建对象时调用 在另一个重载的构造方法里用this()
河南经贸职业学院
信息管理系· 武俊琢
知识回顾
构造方法的重载
可以定义多个参数个数或参数类型不同的构造方法
this关键字
代表当前对象
通过this调用成员变量和成员方法
this.成员变量名 this.成员方法名([参数值列表]); 通过this调用构造方法
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
• 为程序添加文档注释后,便可以使用javadoc命令生成Person类的帮助文 档。打开命令行窗口,进入程序所在的目录,输入生成文档的命令,具体 如下所示:
– 其中: -d 用来指定输出文档存放的目录 . 表示当前的目录
成员内部类也可以被第三个类通过外部类来访问。 如果想通过外部类去访问内部类,则需要通过外部类对象 创建内部类对象,创建内部类对象的具体语法格式如下:
外部类名.内部类名 变量名 =new 外部类名().new 内部类名();
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.1 成员内部类
例5:针对上例的Outer类写一个测试程序
3.8 Java帮助文档—3.8.1 Java的文档注释
Javadoc command:选择JDK中 的javadoc.exe命令 选择要生成文档的源文件
选择生成文档的目标文件夹
河南经贸职业学院
信息管理系· 武俊琢
3.8 Java帮助文档—3.8.1 Java的文档注释
河南经贸职业学院
信息管理系· 武俊琢
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.3 方法内部类
例7:方法内部类。在Outer类的test()方法中定义一个内部 类Inner。
由于Inner是方法内部类,因此只能在方法中创建该类的对象并调用show()方法
河南经贸职业学院
信息管理系· 武俊琢
3.7 内部类—3.7.3 方法内部类