Submit Search
Upload
9, interfaces
•
0 likes
•
466 views
ted-xu
Follow
About java interface
Read less
Read more
Report
Share
Report
Share
1 of 11
Recommended
8, polymorphism
8, polymorphism
ted-xu
7, reusing classes
7, reusing classes
ted-xu
презентация электрод
презентация электрод
sergey_smailov
3, operators
3, operators
ted-xu
Presentation1
Presentation1
Noer Rhiannah Aghuztins
Redes sociales
Redes sociales
Andrea Ramagli Espósito
Isla workshop 2015-03-08
Isla workshop 2015-03-08
pictonio
Agribusiness courses and ag training victoria
Agribusiness courses and ag training victoria
Conor Hall
Recommended
8, polymorphism
8, polymorphism
ted-xu
7, reusing classes
7, reusing classes
ted-xu
презентация электрод
презентация электрод
sergey_smailov
3, operators
3, operators
ted-xu
Presentation1
Presentation1
Noer Rhiannah Aghuztins
Redes sociales
Redes sociales
Andrea Ramagli Espósito
Isla workshop 2015-03-08
Isla workshop 2015-03-08
pictonio
Agribusiness courses and ag training victoria
Agribusiness courses and ag training victoria
Conor Hall
Lynette Community Of Learners
Lynette Community Of Learners
Kevin Hodgson
визитница 0
визитница 0
Алексей Дмитриев
гиа 9 - для школьного сайта
гиа 9 - для школьного сайта
Аня Иванова
гиа 9 - график проведения
гиа 9 - график проведения
Аня Иванова
Sobre el concepto 'Posverdad'
Sobre el concepto 'Posverdad'
Antoni
Using Social Media in Business - iWIN Forum - Scot McKee
Using Social Media in Business - iWIN Forum - Scot McKee
BirddogB2B
Effective communication skill IN NURSING
Effective communication skill IN NURSING
Ambily Ulahannan
Nursing Communication
Nursing Communication
Ruby Rose Faelden
Prf box
Prf box
Ahaf Surgico
3. java basics
3. java basics
netdbncku
2, object oriented programming
2, object oriented programming
ted-xu
使用Lua提高开发效率
使用Lua提高开发效率
gowell
Java基础方面
Java基础方面
yiditushe
Java面试32题
Java面试32题
yiditushe
Clojure简介与应用
Clojure简介与应用
Robert Hao
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Java面试知识
Java面试知识
yiditushe
111
111
GARNETT2183
111
111
GARNETT2183
111
111
GARNETT2183
111
111
GARNETT2183
More Related Content
Viewers also liked
Lynette Community Of Learners
Lynette Community Of Learners
Kevin Hodgson
визитница 0
визитница 0
Алексей Дмитриев
гиа 9 - для школьного сайта
гиа 9 - для школьного сайта
Аня Иванова
гиа 9 - график проведения
гиа 9 - график проведения
Аня Иванова
Sobre el concepto 'Posverdad'
Sobre el concepto 'Posverdad'
Antoni
Using Social Media in Business - iWIN Forum - Scot McKee
Using Social Media in Business - iWIN Forum - Scot McKee
BirddogB2B
Effective communication skill IN NURSING
Effective communication skill IN NURSING
Ambily Ulahannan
Nursing Communication
Nursing Communication
Ruby Rose Faelden
Prf box
Prf box
Ahaf Surgico
Viewers also liked
(9)
Lynette Community Of Learners
Lynette Community Of Learners
визитница 0
визитница 0
гиа 9 - для школьного сайта
гиа 9 - для школьного сайта
гиа 9 - график проведения
гиа 9 - график проведения
Sobre el concepto 'Posverdad'
Sobre el concepto 'Posverdad'
Using Social Media in Business - iWIN Forum - Scot McKee
Using Social Media in Business - iWIN Forum - Scot McKee
Effective communication skill IN NURSING
Effective communication skill IN NURSING
Nursing Communication
Nursing Communication
Prf box
Prf box
Similar to 9, interfaces
3. java basics
3. java basics
netdbncku
2, object oriented programming
2, object oriented programming
ted-xu
使用Lua提高开发效率
使用Lua提高开发效率
gowell
Java基础方面
Java基础方面
yiditushe
Java面试32题
Java面试32题
yiditushe
Clojure简介与应用
Clojure简介与应用
Robert Hao
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Justin Lin
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Java面试知识
Java面试知识
yiditushe
111
111
GARNETT2183
111
111
GARNETT2183
111
111
GARNETT2183
111
111
GARNETT2183
111
111
GARNETT2183
2. java introduction
2. java introduction
netdbncku
beidakejian
beidakejian
hanxuebing
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
hugo
C+
C+
LohasBicycle
C#
C#
LohasBicycle
第9章 Shell 編程
第9章 Shell 編程
kidmany2001
Similar to 9, interfaces
(20)
3. java basics
3. java basics
2, object oriented programming
2, object oriented programming
使用Lua提高开发效率
使用Lua提高开发效率
Java基础方面
Java基础方面
Java面试32题
Java面试32题
Clojure简介与应用
Clojure简介与应用
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
Java SE 8 技術手冊第 18 章 - 自訂泛型、列舉與標註
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Java面试知识
Java面试知识
111
111
111
111
111
111
111
111
111
111
2. java introduction
2. java introduction
beidakejian
beidakejian
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
C+
C+
C#
C#
第9章 Shell 編程
第9章 Shell 編程
More from ted-xu
11, OCP - awr & alert system
11, OCP - awr & alert system
ted-xu
10, OCP - flashback
10, OCP - flashback
ted-xu
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
ted-xu
8, OCP - backup with rman
8, OCP - backup with rman
ted-xu
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
ted-xu
6, OCP - oracle security
6, OCP - oracle security
ted-xu
5, OCP - oracle storage
5, OCP - oracle storage
ted-xu
4, OCP - oracle networking
4, OCP - oracle networking
ted-xu
3, OCP - instance management
3, OCP - instance management
ted-xu
2, OCP - installing and creating a database
2, OCP - installing and creating a database
ted-xu
1, OCP - architecture intro
1, OCP - architecture intro
ted-xu
12, OCP - performance tuning
12, OCP - performance tuning
ted-xu
7, business event system
7, business event system
ted-xu
6, workflow miscellaneous
6, workflow miscellaneous
ted-xu
5, workflow function activity
5, workflow function activity
ted-xu
4, workflow tables & api
4, workflow tables & api
ted-xu
3, workflow in ebs
3, workflow in ebs
ted-xu
2, a simple workflow
2, a simple workflow
ted-xu
1, workflow intro
1, workflow intro
ted-xu
8, bes tables & api
8, bes tables & api
ted-xu
More from ted-xu
(20)
11, OCP - awr & alert system
11, OCP - awr & alert system
10, OCP - flashback
10, OCP - flashback
9, OCP - restore and recovery with rman
9, OCP - restore and recovery with rman
8, OCP - backup with rman
8, OCP - backup with rman
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
6, OCP - oracle security
6, OCP - oracle security
5, OCP - oracle storage
5, OCP - oracle storage
4, OCP - oracle networking
4, OCP - oracle networking
3, OCP - instance management
3, OCP - instance management
2, OCP - installing and creating a database
2, OCP - installing and creating a database
1, OCP - architecture intro
1, OCP - architecture intro
12, OCP - performance tuning
12, OCP - performance tuning
7, business event system
7, business event system
6, workflow miscellaneous
6, workflow miscellaneous
5, workflow function activity
5, workflow function activity
4, workflow tables & api
4, workflow tables & api
3, workflow in ebs
3, workflow in ebs
2, a simple workflow
2, a simple workflow
1, workflow intro
1, workflow intro
8, bes tables & api
8, bes tables & api
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