Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
ted-xu
470 views
9, interfaces
AI-enhanced description
文档讨论了接口和抽象类的概念及其实现方式。接口提供了一种规范,使实现类必须遵循,而抽象类则介于接口和具体实现之间,可以包含抽象方法和已实现的方法。文中还探讨了多重继承、命名冲突及工厂方法的使用。
Read more
0
Save
Share
Embed
Embed presentation
1
/ 11
2
/ 11
3
/ 11
4
/ 11
5
/ 11
6
/ 11
7
/ 11
8
/ 11
9
/ 11
10
/ 11
11
/ 11
More Related Content
PPTX
8, polymorphism
by
ted-xu
PPTX
7, reusing classes
by
ted-xu
PPT
презентация электрод
by
sergey_smailov
PPTX
3, operators
by
ted-xu
PPTX
Presentation1
by
Noer Rhiannah Aghuztins
PPTX
Redes sociales
by
Andrea Ramagli Espósito
PDF
Isla workshop 2015-03-08
by
pictonio
PDF
Agribusiness courses and ag training victoria
by
Conor Hall
8, polymorphism
by
ted-xu
7, reusing classes
by
ted-xu
презентация электрод
by
sergey_smailov
3, operators
by
ted-xu
Presentation1
by
Noer Rhiannah Aghuztins
Redes sociales
by
Andrea Ramagli Espósito
Isla workshop 2015-03-08
by
pictonio
Agribusiness courses and ag training victoria
by
Conor Hall
Viewers also liked
PPS
Lynette Community Of Learners
by
Kevin Hodgson
PPTX
визитница 0
by
Алексей Дмитриев
PPT
гиа 9 - для школьного сайта
by
Аня Иванова
DOCX
гиа 9 - график проведения
by
Аня Иванова
PPSX
Sobre el concepto 'Posverdad'
by
Antoni
PPTX
Using Social Media in Business - iWIN Forum - Scot McKee
by
BirddogB2B
PPTX
Effective communication skill IN NURSING
by
Ambily Ulahannan
PPT
Nursing Communication
by
Ruby Rose Faelden
PDF
Prf box
by
Ahaf Surgico
Lynette Community Of Learners
by
Kevin Hodgson
визитница 0
by
Алексей Дмитриев
гиа 9 - для школьного сайта
by
Аня Иванова
гиа 9 - график проведения
by
Аня Иванова
Sobre el concepto 'Posverdad'
by
Antoni
Using Social Media in Business - iWIN Forum - Scot McKee
by
BirddogB2B
Effective communication skill IN NURSING
by
Ambily Ulahannan
Nursing Communication
by
Ruby Rose Faelden
Prf box
by
Ahaf Surgico
Similar to 9, interfaces
PDF
Ood启思录02
by
yiditushe
PDF
[圣思园][Java SE]Java se lesson 3
by
ArBing Xie
DOC
Java相关基础知识
by
yiditushe
DOC
Java面试32题
by
yiditushe
PPTX
Javascript面向对象
by
RolfZhang
PDF
[圣思园][Java SE]Java se lesson 2
by
ArBing Xie
DOC
Java23种设计模式(总结)
by
xuanlong282
DOC
Java 面试32问
by
yiditushe
PPT
Sun java
by
softwaredesigner
DOC
大公司的Java面试题集
by
yiditushe
PPTX
2, object oriented programming
by
ted-xu
PDF
Java Api Design
by
yiditushe
DOC
Java面试笔试题大汇总
by
yiditushe
DOC
泛型总结
by
wang hongjiang
PPT
Abap oo
by
vernoo
PPT
Class Inheritance
by
finian lau
PPTX
10, inner classes
by
ted-xu
DOC
Java面试知识
by
yiditushe
PDF
[圣思园][Java SE]Reflection
by
ArBing Xie
PDF
Java explore
by
Roger Xia
Ood启思录02
by
yiditushe
[圣思园][Java SE]Java se lesson 3
by
ArBing Xie
Java相关基础知识
by
yiditushe
Java面试32题
by
yiditushe
Javascript面向对象
by
RolfZhang
[圣思园][Java SE]Java se lesson 2
by
ArBing Xie
Java23种设计模式(总结)
by
xuanlong282
Java 面试32问
by
yiditushe
Sun java
by
softwaredesigner
大公司的Java面试题集
by
yiditushe
2, object oriented programming
by
ted-xu
Java Api Design
by
yiditushe
Java面试笔试题大汇总
by
yiditushe
泛型总结
by
wang hongjiang
Abap oo
by
vernoo
Class Inheritance
by
finian lau
10, inner classes
by
ted-xu
Java面试知识
by
yiditushe
[圣思园][Java SE]Reflection
by
ArBing Xie
Java explore
by
Roger Xia
More from ted-xu
PPTX
11, OCP - awr & alert system
by
ted-xu
PPTX
10, OCP - flashback
by
ted-xu
PPTX
9, OCP - restore and recovery with rman
by
ted-xu
PPTX
8, OCP - backup with rman
by
ted-xu
PPTX
7, OCP - configure database for backup and recovery
by
ted-xu
PPTX
6, OCP - oracle security
by
ted-xu
PPTX
5, OCP - oracle storage
by
ted-xu
PPTX
4, OCP - oracle networking
by
ted-xu
PPTX
3, OCP - instance management
by
ted-xu
PPTX
2, OCP - installing and creating a database
by
ted-xu
PPTX
1, OCP - architecture intro
by
ted-xu
PPTX
12, OCP - performance tuning
by
ted-xu
PPTX
7, business event system
by
ted-xu
PPTX
6, workflow miscellaneous
by
ted-xu
PPTX
5, workflow function activity
by
ted-xu
PPTX
4, workflow tables & api
by
ted-xu
PPTX
3, workflow in ebs
by
ted-xu
PPTX
2, a simple workflow
by
ted-xu
PPTX
1, workflow intro
by
ted-xu
PPTX
8, bes tables & api
by
ted-xu
11, OCP - awr & alert system
by
ted-xu
10, OCP - flashback
by
ted-xu
9, OCP - restore and recovery with rman
by
ted-xu
8, OCP - backup with rman
by
ted-xu
7, OCP - configure database for backup and recovery
by
ted-xu
6, OCP - oracle security
by
ted-xu
5, OCP - oracle storage
by
ted-xu
4, OCP - oracle networking
by
ted-xu
3, OCP - instance management
by
ted-xu
2, OCP - installing and creating a database
by
ted-xu
1, OCP - architecture intro
by
ted-xu
12, OCP - performance tuning
by
ted-xu
7, business event system
by
ted-xu
6, workflow miscellaneous
by
ted-xu
5, workflow function activity
by
ted-xu
4, workflow tables & api
by
ted-xu
3, workflow in ebs
by
ted-xu
2, a simple workflow
by
ted-xu
1, workflow intro
by
ted-xu
8, bes tables & api
by
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