如果定义的类是基类,同时有被子类继承的保护(protected)变量,就应当用abstract。如果基类只定义方法,没有变量,就用interface。如果必须在abstract和interface之间作一选择,应当尽量用interface。