`
lovnet
  • 浏览: 6714310 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

第19条:接口只用于定义类型

 
阅读更多
当类实现接口时,接口就充当可以引用这个类的实例的类型(type)。
因此类实现了接口,就表明客户端可以对这个类的实例实施某些动作。为了其他目的而使用接口是不恰当的。


常量接口(constant interface),使用这些常量的类实现这个接口,以避免用类名来修改常量名。
常量接口模式是对接口的不良使用。
如果这些常量最好被看作枚举类型的成员,使用枚举类型。否则,应该使用不可实例化的工具类来导出这些常量。
工具类通常要求客户端用类名来修饰这些常量名。也可以使用静态导入,避免用类名修饰常量名。

分享到:
评论

相关推荐

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    第19章 可空值类型 19.1 C#对可空值类型的支持 19.2 C#的空接合操作符 19.3 CLR对可空值类型的特殊支持 19.3.1 可空值类型的装箱 19.3.2 可空值类型的拆箱 19.3.3 通过可空值类型调用GetType 19.3.4 通过可...

    值类型和引用类型的区别

    具体哪些类型是值类型哪些是引用类 型,大家翻翻书,背一背就好了,不过我想,做过一段时间的开发,即使您背不了书上教条的定义,也不会把值类型和引用类型搞混的。接下来,还是老规矩,咱看 码说话吧。 1: public ...

    PPP:PPP使用LCP设置和维护链路

     1) q.921:ISDN的第2层在q.921中定义。Q.921信令在D信道上用LAPD协议传输。处理q.921故障最常用命令是debug isdn q921,问题常与TEI(terminal endpoint identifier)、SAPI(service access point identifier)...

    SOA实践指南-分布式系统设计的艺术.pdf

    第19章:建立soa和soa监管  19.1 引入soa  19.2 soa监管  19.3 按部就班soa  19.4 其他soa方法  19.5 其他建议  19.6 总结 第20章:后记  20.1 soa是新东西吗?  20.2 soa增加了复杂性吗?  20.3 ...

    SOA实践指南 分布式系统设计的艺术

    第19章:建立soa和soa监管  19.1 引入soa  19.2 soa监管  19.3 按部就班soa  19.4 其他soa方法  19.5 其他建议  19.6 总结 第20章:后记  20.1 soa是新东西吗?  20.2 soa增加了复杂性吗?  20.3 ...

    SOA实践指南 分布式系统设计的艺术.part3

    第19章:建立soa和soa监管  19.1 引入soa  19.2 soa监管  19.3 按部就班soa  19.4 其他soa方法  19.5 其他建议  19.6 总结 第20章:后记  20.1 soa是新东西吗?  20.2 soa增加了复杂性吗?  20.3 ...

    SOA实践指南 分布式系统设计的艺术.part2

    第19章:建立soa和soa监管  19.1 引入soa  19.2 soa监管  19.3 按部就班soa  19.4 其他soa方法  19.5 其他建议  19.6 总结 第20章:后记  20.1 soa是新东西吗?  20.2 soa增加了复杂性吗?  20.3 ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part1

    第19章 可空值类型 19.1 C#对可空值类型的支持 19.2 C#的空接合操作符 19.3 CLR对可空值类型的特殊支持 19.3.1 可空值类型的装箱 19.3.2 可空值类型的拆箱 19.3.3 通过可空值类型调用GetType 19.3.4 通过可...

    CLR.via.C#.(中文第3版)(自制详细书签)

    第19章 可空值类型 19.1 C#对可空值类型的支持 19.2 C#的空接合操作符 19.3 CLR对可空值类型的特殊支持 19.3.1 可空值类型的装箱 19.3.2 可空值类型的拆箱 19.3.3 通过可空值类型调用GetType 19.3.4 通过可...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    第19章 可空值类型 19.1 C#对可空值类型的支持 19.2 C#的空接合操作符 19.3 CLR对可空值类型的特殊支持 19.3.1 可空值类型的装箱 19.3.2 可空值类型的拆箱 19.3.3 通过可空值类型调用GetType 19.3.4 通过可...

    TCP/IP症状和原因

     1) q.921:ISDN的第2层在q.921中定义。Q.921信令在D信道上用LAPD协议传输。处理q.921故障最常用命令是debug isdn q921,问题常与TEI(terminal endpoint identifier)、SAPI(service access point identifier)...

    开发培训入门PPT资料.pptx

    数量 金额 距离等,可用于计算 T 6 6 '000000' 时 间(格式: HHMMSS) X 1 1 - 65535 X'00' 十 六进制 STRING 动态长度的字符串,日志文本,描述性文字等 XSTRING ASCII ABAP的数据类型-基本(jīběn)数据类型 第六...

    网管教程 从入门到精通软件篇.txt

    DTD:SGML文档类型定义(DTD)文件 DTED:地面高度数字数据(图形的数据格式)文件 DTF:Symantec Q&A相关的数据库数据文件 DTM:DigiTrakker模块文件 DUN:Microsoft拔号网络导出文件 DV:数字视频文件(MIME...

    java经典面试2010集锦100题(不看你后悔)

    A) 定义接口的关键字为interface,接口中可以定义变量,但是必须同时为该变量赋值,接口中的方法默认全部为public类型。 B) 实现接口的关键字是implements,其后可以跟多个接口的名字,即实现多继承。一个类实现了...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    net学习笔记及其他代码应用

    接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象...

    ssh(structs,spring,hibernate)框架中的上传下载

     第3~9行定义了一个数据源,其实现类是apache的BasicDataSource,第11~25行定义了Hibernate的会话工厂,会话工厂类用Spring提供的LocalSessionFactoryBean维护,它注入了数据源和资源映射文件,此外还通过一些键值...

Global site tag (gtag.js) - Google Analytics