模板

Similar documents
OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

软件工程文档编制

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

新・解きながら学ぶJava

Microsoft Word - 新1-12.doc

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

无类继承.key

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B,

Microsoft Word - 01.DOC

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

untitled

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

3.1 num = 3 ch = 'C' 2

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入


EJB-Programming-4-cn.doc

untitled

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

Microsoft Word - 第3章.doc

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Guava学习之Resources

《大话设计模式》第一章

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

JavaIO.PDF

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

Java

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

CHAPTER VC#

Microsoft Word - 第2章.doc

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

Guava学习之CharSequenceReader

Chapter 9: Objects and Classes

教案模板4-2

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

chp6.ppt

untitled

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

姓名 : 年级专业 : 学号 : 凡年级专业 姓名 学号错写 漏写或字迹不清者, 成绩按零分记 密 封 线 java 较难 试卷 总分 题号 一 二 三 四 五 题分 得分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 得分 一 单选题 ( 每题 3 分,

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

CC213

Chapter 9: Objects and Classes

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

新版 明解C++入門編

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

Microsoft Word - word模板-教师.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点

javaexample-02.pdf

untitled

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

Microsoft PowerPoint - L17_Inheritance_v4.pptx

untitled

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - 08_OO_CJC.ppt

untitled

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

Microsoft Word - ch04三校.doc

java2d-4.PDF

FY.DOC

《计算概论》课程 第十九讲 C 程序设计语言应用

CHAPTER 1

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

Microsoft Word - 第5章.doc

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

public class Phone { String brand; double price; void call(){ System.out.println("hi,how are you doing"); 案例 3-2 对象的创建及对象内存图 1 考核知识点对象的创建和引用 掌握创建对象的方式

全国计算机技术与软件专业技术资格(水平)考试

Microsoft Word - 第3章.doc

拦截器(Interceptor)的学习

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

untitled

extend

chp5_1

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

The Embedded computing platform

<4D F736F F F696E74202D20A1B64A617661B8DFBCB6BCBCCAF5A1B7B5DA31312E35BDB220B6AFCCACC0E0D0CDBCECB2E92E707074>

untitled

chp4

EJB-Programming-3.PDF

chap07.key

幻灯片 1

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

Transcription:

制作人 : 张刚

目录 类和对象 面向对象程序设计基本特征 类的声明 构造方法 成员变量和方法 封装 继承 多态 包 访问控制 final static 抽象类和接口 内部类 沈阳工业大学软件学院 Java 课程教研组 Page 2

核心知识点 类 对象 三个基本特征 类的基本结构 成员变量 构造方法 成员方法 类实例 对象创建和操作 沈阳工业大学软件学院 Java 课程教研组 Page 3

1. 1 面向对象概述 类是对现实生活中事物的描述 比如 : 小明有两只手和两只脚 会说话, 小红和小黄也有两只手和两只脚 会说话, 那么在 Java 里面会把他们的共同特点 ( 都有两个手两个脚 会说话 ) 找出来组成一个类, 即人类 对象是对现实世界理解和抽象的方法, 是计算机编程技术发展到一定阶段后的产物, 是这类事物实实在在存在的个体 比如 : 小明 小红均是对象 封装 : 把客观事物封装成抽象的类, 并且类可以把自己的数据方法只让可信的类或对象操作, 对不可信的进行信息隐藏 继承 : 可以使用现有类的所有功能, 并在无需重新编写原来类情况下对这些功能进行扩展 多态 : 允许将子类型的指针赋值给父类类型的指针 沈阳工业大学软件学院 Java 课程教研组 Page 4

1. 1 面向对象概述 现实生活中的对象 电脑中的对象 前者包含属性, 如人的身高 体重 ; 后者使用成员变量表示它们 前者包含行为, 如人的走路 跑步 ; 后者使用成员方法表示它们 难题 : 前者如何影射到后者 这需要借助类与构造方法 沈阳工业大学软件学院 Java 课程教研组 Page 5

1.2 类的基本结构 类 类的声明 类体 成员变量构造方法成员方法 哪些是类的成员,main 方法是否是类的成员 注 :main 函数可以放在类中, 但是它和构造方法都不是类成员 沈阳工业大学软件学院 Java 课程教研组 Page 6

1.2 类的基本结构 1.2.1 类的声明 类的访问权限 ([public]): public: 没有限制的访问权限, 其他的类都能访问 default: 默认访问权限, 同一个包中的类可以访问 private: 最强的访问权限, 其他的类都不能访问 抽象类 ([abstract]): 不能被实例化 [final] 不能被继承 class ClassName 基本结构 继承 [extends SuperClassName] 前面是子类, 后面是父类 比如 : 子类 extends 父类 实现接口 [implements interfacenamelist] 比如 : 子类 implements A, B 完整实例 : public abstract final class A extends B implements C, D [public][abstract final] class ClassName [extends SuperClassName] [implements interfacenamelist] 沈阳工业大学软件学院 Java 课程教研组 Page 7

1.2 类的基本结构 1.2.2 类体 成员变量 构造方法 成员方法 main 方法 描述顺序 : 成员变量 - 构造方法 - 成员方法 -main 方法 构造方法 : 用于对象构造 方法名和类名相同 成员方法 : 包含行为相关方法和属性相关方法 (get 和 set 方法 ) main 方法 : 应用程序执行的入口 是否等同于 C++ 中的 main 函数 沈阳工业大学软件学院 Java 课程教研组 Page 8

1.3 成员变量 构造方法 成员方法 1.3.1 成员变量 访问权限 ([public]): public: 任何类均可以访问 protected: 本类 子类 同一包中类可访问 default: 同一包中的类可以访问 private: 仅在本类内访问 静态变量 [static]: 与类相关, 与对象无关 可以通过对象或者类名访问 可以使用静态方法访问, 非静态不行 [final]: 一旦初始化完成, 值不能被改变 [transient]: 表示该域是对象串行化的一部分 type variablename 基本结构完整实例 : public static final int PI= 3.14; [public protected private][static][final transient] type variblename 沈阳工业大学软件学院 Java 课程教研组 Page 9

1.3 成员变量 构造方法 成员方法 Java 中变量类型 成员变量 局部变量 Ø 隶属于类, 可以不初始化 ; Ø 在所在类被实例化后, 存在堆内存中 ; Ø 作用于整个类 p 定义在方法或者域里, 必须初始化 ; p 在所在方法调用时, 存在栈内存空间内 ; p 作用于局部 方法参数 异常处理器参数 Ø 方法中要用到的值, 被称作形式参数 ; pcatch 子句中包含的参数 ; Ø 参数值由调用函数传递 比如 :max (int a, int b) p 当异常发生时由 Exception 子类的实例赋值 int v = max(2,3); int v = 1/0; 比如 : catch (Exception e) 沈阳工业大学软件学院 Java 课程教研组 Page 10

1.3 成员变量 构造方法 成员方法 Java 成员变量的初始化 变量类型 byte short int long float double char boolean 所有引用类型 ( 类 接口 数组 ) 初始值 0 0 0 0 0.0F 0.0D \u0000 false null 沈阳工业大学软件学院 Java 课程教研组 Page 11

1.3 成员变量 构造方法 成员方法 1.3.2 构造方法 构造方法的访问权限 ([public]): public: 没有限制的访问权限, 其他类都能访问 protected: 只限于子类或者同一包中类能访问 default: 只限于同一包中类能访问 private: 仅在本类中被访问 <class_name>([<argument_list>]) { 基本结构 [<statements>] 比如 :A (int a){ 如果类中仅包含被 private 修饰的构造函数, 如何实现对象的创建 注 : 利用静态成员方法 构造函数缺省存在, 如果重新定义, 缺省会被隐藏 [public protected private]<class_name>([<argument_list>]) { [<statements>] 沈阳工业大学软件学院 Java 课程教研组 Page 12

1.3 成员变量 构造方法 成员方法 Ø 构造方法的名字和类名相同 ( 字母大小写一致 ) Ø 构造方法可以有参数 Ø 构造方法没有返回值 ( 包含 void) 类体 构造方法事项 Ø 构造方法只能和 new 运算符一起使用 Ø 一个类可以定义多个构造方法, 这些方法构 成了重载关系, 但是不能无限制进行重载 Ø 创建类的对象必须显示调用构造方法 Ø 用于对类的成员进行初始化 沈阳工业大学软件学院 Java 课程教研组 Page 13

1.3 成员变量 构造方法 成员方法 1.3.3 成员方法 成员方法的访问权限 ([public]): public: 没有限制的访问权限, 其他类都能访问 protected: 只限于子类或者同一包中类能访问 default: 只限于同一包中类能访问 private: 仅在本类中被访问 静态方法 [static]: 与类相关, 与对象无关 可以通过对象或者类名访问 [final]: 表示该方法在子类中不能被重写 抽象方法 ([abstract]): 可以包含实现体, 也可以不包含实现体 包含这种方法的类部不能被实例化 同步锁 [synchronized]: 约束不同对象对共享资源的访问 throws 子句 说明方法可能抛出的异常 <return_type><name>([<argument_list>]) 基本结构比如 :int getx(){ [public>][static][final abstract][synchronized] <return_type><name>([<argument_list>]) [throws<exception_list>] 沈阳工业大学软件学院 Java 课程教研组 Page 14

1.4 类实例 对象创建和操作 1.4.1 实例 ( 雇员类 ) 雇员类 成员变量 构造方法 成员方法 姓名 编号 部门 Ø 缺省 ( 不带参数 ) Ø 带三个参数 ( 姓名 编 号 部门 ) Ø 输出成员信息 Ø 成员的 get 和 set 方法 类名 : Employee 成员变量 : 姓名 (String, name) 编号(int, id) 部门(String, department) 构造方法 : Employee( ) Employee(String name, int id, String deparment) 成员方法 : String print( ) void setname(string name) String getname( ) void setid(int id) int getid( ) void setdepartment(string department) String getdepartment( ) 沈阳工业大学软件学院 Java 课程教研组 Page 15

1.4 类实例 对象创建和操作 class Employee{ private String name; private int id; private String department; Employee( ){ Employee(String name, int id, String department){ this.name = name; this.id = id; this.department = department; void setname(string name){ this.name = name; String getname( ){ return name; void setid(int id){ this.id = id; int getid( ){ return id; void setdepartment(string deparment){ this.department = department; String getdepartment( ){ return department; String print( ){ return name + + id + + department; 沈阳工业大学软件学院 Java 课程教研组 Page 16

1.4 类实例 对象创建和操作 1.4.2 对象创建和操作 创建 操作 类 对象 任务 使用 new 运算符 使用点运算符. 实例 : 创建一个字符串对象, 并且获得其长度 String str = new String ( hello ); int len = str.length( ); 沈阳工业大学软件学院 Java 课程教研组 Page 17

1.4 类实例 对象创建和操作 1.4.3 实例 ( 雇员类操作 ) 问题描述 : 创建一个雇员对象, 该对象名字为张明 编号为 1001 部门为电子商务, 要 求使用两种方式创建对象且完成成员变量的赋值, 输出雇员信息 class Appa{ public static void main(string args[]){ Employee e = new Employee( ); e.setname( 张明 ); e.setid(1001); e.setdepartment( 电子商务 ); System.out.println(e.print( )); 使用缺省构造和 set 方法 class Appb{ public static void main(string args[]){ Employee e = new Employee( 张明, 1001, 电子商务 ); System.out.println(e.print( )); 使用带参构造方法 沈阳工业大学软件学院 Java 课程教研组 Page 18

小结 1 面向对象程序设计的三个基本特征 练习 2 3 封装 继承 (extends) 1. 创建学生类, 该类包含姓名 学号 班级属性 ; 包含两个 构造方法, 一个是缺省的, 一个是带三个参数的 ; 包含属性相关方法 ; 包含一个显 示方法 4 多态 ( 编译时多态和运行时多态 ) 2. 使用缺省构造函数创建对象 且使用属性相关方法给属性 赋值, 显示学生信息 3. 使用带参数构造函数创建对 象, 然后显示学生信息 沈阳工业大学软件学院 Java 课程教研组 Page 19