本帖最后由 霞光满树 于 2011-11-5 13:51 编辑
public interface LifeUtility {
public void info();
}
class FourWheeler implements LifeUtility {
//接口实现---------------SECTION B-----------------
public void info() {
System.out.println("恩。我是四个轮子的交通工具呀。");
}
public void start() {
System.out.println("四轮子启动");
}
}
class Car extends FourWheeler {
//Car 继承实现
//方法重载override
public void info() {
System.out.println("恩。我是小汽车呀。");
}
public void start() {
System.out.println("小汽车启动");
}
}
class Bus extends FourWheeler {
// Bus继承实现
// 方法重载override
public void info() {
System.out.println("恩。我是公交车呀。");
}
public void start() {
System.out.println("公交车启动");
}
}
//对象引用的两种情况分析:1.接口;2.继承。
public class objectRel {
//2.有继承关系,故采用多态,增强代码可维护性
public static void showinfo(FourWheeler fwn) {
fwn.info();
}
public void start(FourWheeler fw) {
fw.start();
}
public static void main(String args[]) {
FourWheeler fw = new Car();
showinfo(fw);
//FourWheeler fw = new Car();
//fw.info();继承引用测试,显示父类方法执行结果。
//LifeUtility lu=new FourWheeler();
//lu.info();接口引用测试,显示父类方法执行结果。
}
}
在学习封装,继承,多态,接口。做了小东西。遇到了问题。
我想问一下。上面的那个objectRel类中showinfo为什么必须是static的,否则,编译就不通过,提示为:
can not make a static reference from the non-static method showinfo() from the type objectRel.
|