Submit Search
9, interfaces
0 likes
469 views
AI-enhanced description
ted-xu
文档讨论了接口和抽象类的概念及其实现方式。接口提供了一种规范,使实现类必须遵循,而抽象类则介于接口和具体实现之间,可以包含抽象方法和已实现的方法。文中还探讨了多重继承、命名冲突及工厂方法的使用。
Read more
1 of 11
1
2
3
4
5
6
7
8
9
10
11
More Related Content
PPTX
8, polymorphism
ted-xu
PPTX
7, reusing classes
ted-xu
PPT
презентация электрод
sergey_smailov
PPTX
3, operators
ted-xu
PPTX
Presentation1
Noer Rhiannah Aghuztins
PPTX
Redes sociales
Andrea Ramagli Espósito
PDF
Isla workshop 2015-03-08
pictonio
PDF
Agribusiness courses and ag training victoria
Conor Hall
8, polymorphism
ted-xu
7, reusing classes
ted-xu
презентация электрод
sergey_smailov
3, operators
ted-xu
Presentation1
Noer Rhiannah Aghuztins
Redes sociales
Andrea Ramagli Espósito
Isla workshop 2015-03-08
pictonio
Agribusiness courses and ag training victoria
Conor Hall
Viewers also liked
(9)
PPS
Lynette Community Of Learners
Kevin Hodgson
PPTX
визитница 0
Алексей Дмитриев
PPT
гиа 9 - для школьного сайта
Аня Иванова
DOCX
гиа 9 - график проведения
Аня Иванова
PPSX
Sobre el concepto 'Posverdad'
Antoni
PPTX
Using Social Media in Business - iWIN Forum - Scot McKee
BirddogB2B
PPTX
Effective communication skill IN NURSING
Ambily Ulahannan
PPT
Nursing Communication
Ruby Rose Faelden
PDF
Prf box
Ahaf Surgico
Lynette Community Of Learners
Kevin Hodgson
визитница 0
Алексей Дмитриев
гиа 9 - для школьного сайта
Аня Иванова
гиа 9 - график проведения
Аня Иванова
Sobre el concepto 'Posverdad'
Antoni
Using Social Media in Business - iWIN Forum - Scot McKee
BirddogB2B
Effective communication skill IN NURSING
Ambily Ulahannan
Nursing Communication
Ruby Rose Faelden
Prf box
Ahaf Surgico
Ad
Similar to 9, interfaces
(20)
PDF
3. java basics
netdbncku
PPTX
2, object oriented programming
ted-xu
PDF
使用Lua提高开发效率
gowell
DOC
Java基础方面
yiditushe
DOC
Java面试32题
yiditushe
PDF
Clojure简介与应用
Robert Hao
PPT
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
PDF
給 iOS 工程師的 Flutter 開發
Weizhong Yang
DOC
Java面试知识
yiditushe
PDF
111
GARNETT2183
PDF
111
GARNETT2183
PDF
111
GARNETT2183
PDF
111
GARNETT2183
PDF
111
GARNETT2183
PDF
2. java introduction
netdbncku
PPT
beidakejian
hanxuebing
PPTX
lua & ngx_lua 的介绍与应用
hugo
PPT
C#
LohasBicycle
PPT
C+
LohasBicycle
PPT
第9章 Shell 編程
kidmany2001
3. java basics
netdbncku
2, object oriented programming
ted-xu
使用Lua提高开发效率
gowell
Java基础方面
yiditushe
Java面试32题
yiditushe
Clojure简介与应用
Robert Hao
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Java面试知识
yiditushe
111
GARNETT2183
111
GARNETT2183
111
GARNETT2183
111
GARNETT2183
111
GARNETT2183
2. java introduction
netdbncku
beidakejian
hanxuebing
lua & ngx_lua 的介绍与应用
hugo
C#
LohasBicycle
C+
LohasBicycle
第9章 Shell 編程
kidmany2001
Ad
More from ted-xu
(20)
PPTX
11, OCP - awr & alert system
ted-xu
PPTX
10, OCP - flashback
ted-xu
PPTX
9, OCP - restore and recovery with rman
ted-xu
PPTX
8, OCP - backup with rman
ted-xu
PPTX
7, OCP - configure database for backup and recovery
ted-xu
PPTX
6, OCP - oracle security
ted-xu
PPTX
5, OCP - oracle storage
ted-xu
PPTX
4, OCP - oracle networking
ted-xu
PPTX
3, OCP - instance management
ted-xu
PPTX
2, OCP - installing and creating a database
ted-xu
PPTX
1, OCP - architecture intro
ted-xu
PPTX
12, OCP - performance tuning
ted-xu
PPTX
7, business event system
ted-xu
PPTX
6, workflow miscellaneous
ted-xu
PPTX
5, workflow function activity
ted-xu
PPTX
4, workflow tables & api
ted-xu
PPTX
3, workflow in ebs
ted-xu
PPTX
2, a simple workflow
ted-xu
PPTX
1, workflow intro
ted-xu
PPTX
8, bes tables & api
ted-xu
11, OCP - awr & alert system
ted-xu
10, OCP - flashback
ted-xu
9, OCP - restore and recovery with rman
ted-xu
8, OCP - backup with rman
ted-xu
7, OCP - configure database for backup and recovery
ted-xu
6, OCP - oracle security
ted-xu
5, OCP - oracle storage
ted-xu
4, OCP - oracle networking
ted-xu
3, OCP - instance management
ted-xu
2, OCP - installing and creating a database
ted-xu
1, OCP - architecture intro
ted-xu
12, OCP - performance tuning
ted-xu
7, business event system
ted-xu
6, workflow miscellaneous
ted-xu
5, workflow function activity
ted-xu
4, workflow tables & api
ted-xu
3, workflow in ebs
ted-xu
2, a simple workflow
ted-xu
1, workflow intro
ted-xu
8, bes tables & api
ted-xu
9, interfaces
1.
Interfaces & Abstract Classes
2.
Agenda •
概述 • 接口 • 接口实现 • 接口 - 多重继承 • 接口 - 命名冲突 • 接口 - 属性 • 接口与工厂方法 • 抽象类和方法
3.
概述 • 接口(interface) 和
抽象类(abstract class)提供 了一种比实现类更为有效的方式, 用于实现 接口与实现的分离; • 接口 相比 抽象类, 是一种更高层次的抽象, 它声明了一种规范, 所有基于该接口的实现 类都必须实现该规范; • 本章将从接口介绍, 然后介绍抽象类.
4.
接口 • 使用interface关键字声明一个接口, 在接口中可
以定义static final属性和声明方法, 接口中没有 任何方法的实现; 示例: public interface InterfaceA { public static final int VALUE_ONE = 1; public void doSomething(); } • 不管是否作了声明, 接口中的属性默认是static final, 方法默认是public; • 接口本身的访问权限可以是public的, 也可以是 包访问权限; • 示例: demo/Demo1.java
5.
接口实现 • 使用implements关键字来实现一个接口, 如下:
interface A void f1(); void f2(); implements implements class ClassA class ClassB void f1()... void f1()... void f2()... void f2()... • 接口中所有的方法默认都是public的, 即使不声 明为public; 子类在实现接口中声明的方法时, 必须将方法声明为public, 否则无法编译通过; • 示例: demo/Demo2.java
6.
接口 – 多重继承 •
与C++不同的是, Java语言不支持同时继承多 个类; 但是java提供了接口, 一个类可以同时 实现多个接口; • 示例: demo/Demo3.java
7.
接口继承 • 在创建新的接口时, 可以继承自一个或者多
个接口, 新的接口将继承这些接口中所有的 方法声明; 比如: interface A {...} interface B extends A {...} interface C extends A, B {...} • 示例: demo/Demo4.java
8.
接口 – 命名冲突 •
在同时实现多个接口时, 需要注意方法名称 冲突的问题; 比如: interface I1 { void f(); } interface I2 { int f(); } class C implements I1, I2 {...} // compile error • 在上面的例子中I1 和 I2接口均声明了方法f, 两者只是返回值不同; • 示例: demo/Demo5.java
9.
接口 – 属性 •
可以在接口中声明属性, 接口中所有的属性无 论声明与否都是public static final的; 示例: // 在JDK5引入enum类型之前, 通常使用只包含属性声明的接口来达到类似效果 public interface Months { int JANUARY = 1, FEBRUARY = 2, MARCH = 3, APRIL = 4, MAY = 5 ...... • 接口属性必须在声明时进行赋值, 赋值可以使 非常量表达式, 示例: public interface RandVals { Random RAND = new Random(47); int RANDOM_INT = RAND.nextInt(10); long RANDOM_LONG = RAND.nextLong() * 10; ... • 示例: demo/Demo6.java
10.
接口与工厂方法 • 工厂方法(Factory Method)设计模式提供了除构
造器之外的另一种方式用于创建对象, 示例: class SomeObject {...} class SomeObjectFactory { SomeObject createObject() {...} } 其中createObject方法被称为工厂方法, 工厂方 法本身会调用constructor创建对象; • 接口与工厂方法: 工厂方法可以声明为返回某 个接口, 并根据不同的情况返回具体的实现类. 这样客户代码就可以与具体的实现完全解耦合. • 示例: demo/Demo7.java
11.
抽象类 和 方法 •
抽象类是一种介于接口和实现类之间的抽象层 次, 抽象类可以包含抽象方法 和 具体方法; • 使用abstract class声明一个抽象类, 在方法声明 前加abstract用于声明一个抽象方法. 示例: public abstract AbstractClass { void concreteMethod() {...} abstract void abstractMethod(); } • 示例: demo/Demo8.java