接口的小问题,在线等

zgycsmb 2012-05-14 05:22:10
1 java接口中,不是放些方法吗?怎么还可放int b=10;
2 接口和抽象类有什么区别呢,使用时如何选择用接口还是用抽象类呢
thanks
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
五哥 2012-05-14
  • 打赏
  • 举报
回复
抽象类中定义的变量和 普通类中一样随便
private
protected
public

看看做什么用,如果是类属性 就定义成private 然后通过 getter/setter方法获取;
如果是一些常量的话就定义为 public static final 类型 名字 = 值 ;
zgycsmb 2012-05-14
  • 打赏
  • 举报
回复
多谢大家,再问2楼
抽象类中定义的变量也是常量吗,
五哥 2012-05-14
  • 打赏
  • 举报
回复
接口中的变量声明都是常量,
int b=10;
==
public static final int b = 10;


在接口里面定义的方法必须全部是抽象方法,属性全部为常量
而抽象类里面可以定义抽象方法也可以定义实例方法,两种可以同时存在。

抽象类,是指 is a ,是一种 , 接口 has a

如果只是定义一组操作接口 ,就是用接口,如果是继承关系的就用抽象类
比如 动物 狗 猫 都有呼吸的功能 动物 就定义成抽象类了 ,因为 狗 猫 is a 动物;

比如 狗 会叫 ,喇叭也会叫 就可以把叫定义为一种接口 ,他们都实现这个接口 ,因为狗 喇叭 has a 叫这个功能 ;

FFF9527 2012-05-14
  • 打赏
  • 举报
回复
接口中的变量声明都是常量,
int b=10;
==
public static final int b = 10;


在接口里面定义的方法必须全部是抽象方法,属性全部为常量
而抽象类里面不知能定义抽象方法也可以定义实例方法。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧