java基础知识,持续更新
2013-05-08 16:49
441 查看
1.为什么接口中定义的变量必须为常量,即final,static类型?
接口不能被实例化,所以其成员变量必须为不可修改的,就是常量。因为接口不包含任何实现细节,所以他们不能定义普通的字段——这样的定义会把实现策略强加给选择实现该接口的类。首先你要弄清接口的含义.接口就是提供一种统一的'协议',而接口中的属性也属于'协议'中的成员,它们是公共的、静态的、最终的常量,相当于全局常量。
抽象类是不'完全'的类,相当于是接口和具体类的一个中间层,即满足接口的抽象,也满足具体的实现。那么如果一个方法改变了该接口的变量的值的话,这样破坏了封装性,所有当前程序中访问该接口的方法,所有实现了该接口的对象的值都会跟着变,这会引起很大的混乱的。
接口不能被实例化,所以其成员变量必须为不可修改的,就是常量。因为接口不包含任何实现细节,所以他们不能定义普通的字段——这样的定义会把实现策略强加给选择实现该接口的类。首先你要弄清接口的含义.接口就是提供一种统一的'协议',而接口中的属性也属于'协议'中的成员,它们是公共的、静态的、最终的常量,相当于全局常量。
抽象类是不'完全'的类,相当于是接口和具体类的一个中间层,即满足接口的抽象,也满足具体的实现。那么如果一个方法改变了该接口的变量的值的话,这样破坏了封装性,所有当前程序中访问该接口的方法,所有实现了该接口的对象的值都会跟着变,这会引起很大的混乱的。
相关文章推荐
- java之被遗忘的基础知识集合(持续更新)
- JAVA基础知识学习笔记(持续更新中。。)
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- Java基础知识讲解(持续更新)
- Java复习基础知识杂记(持续更新中……)
- Java 基础知识总结--持续更新
- Java 基础知识总结--持续更新
- java基础知识汇总(持续更新中....)
- java基础知识汇总(持续更新中....)
- JAVA基础知识(持续更新ing)
- 使用ES6基础知识来持续更新我的知识库
- mysql基础知识(持续更新)
- JAVA基础知识之JDBC——ResultSet的滚动和更新(statement的额外参数)
- 1.基础知识相关好帖(持续更新)
- 【Unity基础知识】c#代码向(持续更新)
- Java基础(持续更新)
- java常用基础知识点 (持续追加)