a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 107|回复: 0

[基础知识] JAVA面向对象编程课堂笔记13

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
JAVA的核心概念:接口(interface), C/ s# M! V' n+ c7 \8 Y" ^
接口与类属于同一层次,实际上,接口是一种特殊的抽象类。# V9 Q5 h- J& z7 c  U
如:
0 z" T9 Q  t$ r# n$ o6 d5 a  interface IA{) _8 ?2 q0 K! i$ r2 V5 l% F
}
, C( w: ~  B9 u4 S& n$ npublic interface:公开接口
6 M- t9 Y5 T6 A: Y与类相似,一个文件只能有一个public接口,且与文件名相同。
# Q, p# T. g8 J5 @8 |在一个文件中不可同时定义一个public接口和一个public类。
* f2 c8 q$ P# s: h8 |' M0 [一个接口中,所有方法为公开、抽象方法;所有的属性都是公开、静态、常量。: u# h  L+ S( p5 l% y( ]. H
一个类实现一个接口的格式:
* k2 p* w# N% j: |2 H  p5 S4 F+ L) @class IAImple implements IA{+ F# O3 v6 w: p$ _
};4 o( h+ W' I! u/ L
一个类实现接口,相当于它继承一个抽象类。
0 \& D" i) n4 m$ ~" K$ M" }类必须实现接口中的方法,否则其为一抽象类。
; Y7 v3 J, a% g4 U: S- ?实现中接口和类相同。
4 L' f% G3 Y( h" J6 i 3 R( o& i8 P$ B, E
接口中可不写public,但在子类中实现接口的过程中public不可省。
3 d& {0 {# P8 f! S(如果剩去public则在编译的时候提示出错:对象无法从接口中实现方法。)
: p9 p/ P8 ]9 l2 L注:
# j9 f# U2 W1 t8 f0 s5 k$ f( r①    一个类除继承另外一个类,还可以实现接口;9 N2 K/ k3 Z# `! U* c& X% b) i
class IAImpl extends java.util.Arrylist implement IA{}/ o, W' T; G8 D% q) f
                 继承类                    实现接口
" C2 T' I1 ?8 ?% P这样可以实现变相的多继承。
* o; K% |6 d$ F5 v! Q' l/ Q②    一个类只能继承另外一个类,但是它可以继承多个接口,中间用“,”隔开。
6 y$ h- S+ v) {( \! a# HImplements IA,IB
2 Q9 U6 F* N/ F* ]2 W$ f6 |2 x6 c所谓实现一个接口,就是指实现接口中的方法。1 _( B* K( ~5 C
③    接口和接口之间可以定义继承关系,并且接口之间允许实现多继承。
% b9 ^/ E& A4 O+ @2 [) c& s4 \7 c0 I% z例:interface IC extends IA,IB{};
$ m7 X& U* ^( J: \接口也可以用于定义对象  G2 t2 T9 c5 o6 m) f4 N5 O9 i
IA I=new IAImpl();
; k8 D* V0 j0 P5 V* V1 {实现的类从父类和接口继承的都可做运行时类型。
2 q0 W( D4 }. h5 xIAImple extends A implement IA,IB
% R2 }& g0 x' Q; D6 B2 OIB I=new IAImple();
( L# ~1 s/ L* W5 o* J# pI instance of IAImple;) t8 D* W* k+ y. C
I instance of A;% }" J6 w: ~+ e& ^: Y" i: N
I instance of IA;
) l6 k1 j& \6 ]9 c0 E4 o3 k, M: ^I instance of IB;
7 e* G7 A" z6 ?# I; x5 u' u8 K返回的结果均为true.5 y0 I- ]6 B& _. v. s
接口和多态都为JAVA技术的核心。: E, u6 H4 R' E6 t0 Y
接口往往被我们定义成一类XX的东西。
* L7 W% [7 I+ A* P2 O1 f( h接口实际上是定义一个规范、标准。; `" J1 c5 P9 e3 V2 o
①  通过接口可以实现不同层次、不同体系对象的共同属性;* a- N& J) a( v
通过接口实现write once as anywhere.
8 K. S# Z; l8 [+ m以JAVA数据库连接为例子:JDBC制定标准;数据厂商实现标准;用户使用标准。
# D6 T9 l9 z* h接口通常用来屏蔽底层的差异。! v  p- q! D: b0 @; Z
②接口也因为上述原因被用来保持架构的稳定性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-8 08:05 , Processed in 0.317340 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表