一:how many differentias with abstract class and interface?
首先从语法的角度说两者不同:
1)抽象类里面可以有抽象的方法,也可以由实现的方法。而接口里面所有的方法必须是abstract修饰的(可省略),也就是所有的方法都是抽象的。
2)抽象类里面可以定义protected,public修饰的属性供子类继承使用,而接口里面只能定义public static final修饰(静态的不能被修改)的成员变量(实际上相当于常量)。
3)接口是一种特殊的抽象类,java中类的继承是单继承,而接口则可以多继承或者多实现
然后从设计理念的角度说说两者区别:
public abstract Door{
abstract void open();
abstract void close();
}
public interface Door{
void open();
void close();
}
public AlarmDoor extends Door{}可以
public AlartmDoor implements Door{}也可以
如果现在要为报警们添加一个报警的方法这个时候需要怎么做呢?
1:为抽象类们添加一个报警的方法
2:为接口添加一个抽象的报警方法
3:重新定义一个接口添加报警的方法,继承抽象类Door实现新添加的接口
选第三种更合适。根据借口隔离原则,如果需要在此借口添加方法,那么所有用到这个借口的实现都需要实现其抽象的方法不合适。
二:字符流和字节流的有关概念和用法
这根问题学的时候都晕倒(概念太多),web开发中暂时还没用用到。所以忘得差不多了。回头再复习复习!