接口的小问题,在线等
1 java接口中,不是放些方法吗?怎么还可放int b=10;
2 接口和抽象类有什么区别呢,使用时如何选择用接口还是用抽象类呢
thanks
------解决方案--------------------接口中的变量声明都是常量,
int b=10;
==
public static final int b = 10;
在接口里面定义的方法必须全部是抽象方法,属性全部为常量
而抽象类里面不知能定义抽象方法也可以定义实例方法。
------解决方案--------------------接口中的变量声明都是常量,
int b=10;
==
public static final int b = 10;
在接口里面定义的方法必须全部是抽象方法,属性全部为常量
而抽象类里面可以定义抽象方法也可以定义实例方法,两种可以同时存在。
抽象类,是指 is a ,是一种 , 接口 has a
如果只是定义一组操作接口 ,就是用接口,如果是继承关系的就用抽象类
比如 动物 狗 猫 都有呼吸的功能 动物 就定义成抽象类了 ,因为 狗 猫 is a 动物;
比如 狗 会叫 ,喇叭也会叫 就可以把叫定义为一种接口 ,他们都实现这个接口 ,因为狗 喇叭 has a 叫这个功能 ;
------解决方案--------------------抽象类中定义的变量和 普通类中一样随便
private
protected
public
看看做什么用,如果是类属性 就定义成private 然后通过 getter/setter方法获取;
如果是一些常量的话就定义为 public static final 类型 名字 = 值 ;