Overload Overload ( 多載, 重載 ) -- 只要 method signature( 方法簽章 ) 不一樣, 雖然名稱一 樣, 也可以成立 Signature : 方法名稱雖一樣 但引數個數不一樣 或 引數資料型態對應不一樣.

Slides:



Advertisements
Similar presentations
第四章 类、对象和接口.
Advertisements

3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
6. 6 Overloading methods and constructors 6
第16章 代理模式 Website:
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
四資二甲 第三週作業 物件導向程式設計.
師資培育中心外埠教育參觀.
個人投資理財分析 財務狀況匯總表 銀行存款 共同基金 外幣基金 股票投資 保險價值 黃金投資 支出預算 房貸計算 不動產價值 資源變化資料庫
面向对象的程序设计(一).
氣候變遷對南台灣降雨造成之影響 研究背景 結果與討論 研究方法 結論 朱振豪1 、彭康豪1 、莊煌甲1 、邱俊彥2,* 研究目的
程設一.
第二章 JAVA语言基础.
第 13 章 套件 (Packages).
類別的繼承-一般關係: 繼承是宣告的類別繼承現存類別的部份或全部的成員資料和方法 , 新增額外的成員資料和方法或覆寫和隱藏繼承類別的方法
Data Abstraction: The Walls
JAVA程序设计 (03) JAVA Programming
第5章 进一步讨论对象和类.
第5章 Java中类、对象、接口 及包的概念 5.1 类的基本概念 5.2 类的继承概念 5.3 抽象类和接口 5.4 包.
程設一.
Ch08 巢狀類別 物件導向程式設計(II).
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
API设计实例分析 通用IO API.
物件導向程式設計 (Object-Oriented rogramming)
例外處理(Exception Handling)
Java中的面向对象特性.
Java基础 JavaSE异常.
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
Classes Lecturer: 曾學文.
CHAPTER 9 建構方法 ROBERT.
第六章 类的扩展与继承.
崑山科技大學資訊管理系 伺服網頁程式設計 系統開發細部流程 教師:游峰碩.
Java 程式設計 講師:FrankLin.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第五章 继承、接口与范型.
创建型设计模式.
Java软件设计基础 5. 继承与多态.
Cloud Computing MapReduce进阶.
Java语言程序设计 第五部分 Java异常处理.
Java程序设计 第9章 继承和多态.
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
中国矿大计算机学院杨东平 第5章 接口和包 中国矿大计算机学院杨东平
第九單元 Classes and data abstraction I
9.1 程式偵錯 9.2 捕捉例外 9.3 自行拋出例外 9.4 自定例外類別 9.5 多執行緒
INTRODUCTION TO C# & HANDLING DATA
异常及处理.
Php class 組員: 賴羿陵 林昱廷 莊正暉 張雅晴
Java程序设计 第2章 基本数据类型及操作.
第5讲 使用类和对象编程(三) 内部类 实例 程序控制结构 选择语句.
C/C++/Java 哪些值不是头等程序对象
Chapter 5 Recursion.
成品检查报告 Inspection Report
面向对象 程序设计语言基础 马骏
JAVA 编 程 技 术 主编 贾振华 2010年1月.
Inheritance -II.
第二章 Java语法基础.

辅导课程十一.
第二章 Java基本语法 讲师:复凡.
第6章 面向对象的高级特征 学习目标 本章要点 上机练习 习 题.
Java程序设计 第17章 异常和断言.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第6章 继承和多态 伍孝金
Presentation transcript:

Overload Overload ( 多載, 重載 ) -- 只要 method signature( 方法簽章 ) 不一樣, 雖然名稱一 樣, 也可以成立 Signature : 方法名稱雖一樣 但引數個數不一樣 或 引數資料型態對應不一樣

Method 的語法

Declaring Classes( 宣告類別 ) 宣告類別 : 告訴他人我這個類別將有哪些屬性及方法 extends: 繼承, 下面例子 MyClass 可以延用 MySuperClass 的方法 implements 實作, 下面例子 MyClass 要將 YourInterface 中所宣告的方法, 完成 定義

Declaring Member Variables ( 宣告變數及方法 ) Member variables in a class( 在類別大括號之間宣告的變數稱為 )—these are called fields ( 屬性 ). Variables in a method or block of code( 在方法 - 及副程式大括號之間宣告的變 數稱為 )—these are called local variables 區域變數 (). Variables in method declarations( 在方法 - 及副程式圓括號之間宣告的變數稱 為 )—these are called parameters( 參數 ). Access Modifiers( 修飾元 )  public modifier( 公用 )—the field is accessible from all classes 所有其他類別皆可用到.  private modifier( 私有 )—the field is accessible only within its own class 只有自己的 類別內部的成員, 如屬性和方法, 才能用.

建構元 Constructor 建構元 : 建立物件的方法 建構元是特殊的方法, 不傳回任何型態, 也不傳回 void 若類別本身沒有建構元, compiler 會給予一個預設建構 元 => 類別名稱 (){}

abstract class( 抽象類別 ) 抽象類別必須以 abstract 宣告 類別其中有一個方法為 abstract => 沒有實作 {}, 就必須宣告為 abstract. 但也可全部方法都不是 abstract abstract class 主要不讓 使用者建立物件 抽象類別不能被 New 起來 (ch11, p11) 繼承抽象類別的類別必須將方法補齊 (ch11, p8)

Override&Overload 練習 2:// /~wells/wiki/index.php/SCJP_1.6%E7%89%88%E8%80%83%E9%A1%8C_01 2

Override&Overload 練習 e-scjp-mock-exams/

Override 練習 Explanation: An overriding method can throw the same exceptions( 相同的例外 ), narrower exceptions( 範圍較 小的例外 ), or no exceptions ( 無例外 ) and can throw any runtime exceptions ( 可以丟出 RUNTIME 例外 ) whether they were listed in the overridden method or not. An overriding method cannot reduce the access scope of the overridden method but can widen it.

Override 練習

Override 練習

Override 練習 import java.io.*; class Test { public void display() throws IOException { } } public class Demo extends Test { public void display() throws Exception { } // throwing super class exception } //error, why

Override 練習 import java.io.*; class Test { public void display() throws IOException { } } public class Demo extends Test { public void display() throws IOException { } }