抽象类就是用abstract关键字修饰的类。
抽象类 Action
package com.oop.demo06;
public abstract class Action {
//抽象方法无法创建方法体,需要子类实现
public abstract void doSomething();
//抽象类中也可以创建普通方法
public void changeSomething() {
System.out.println("Change Something.");
}
}
继承Action的子类Running
package com.oop.demo06;
public class Running extends Action {
//继承抽象类必须要实现抽象类中的抽象方法
@Override
public void doSomething() {
System.out.println("Do Something.");
}
}
接口与抽象类有相似之处,下面有两个接口Traffic和Sleep, 和一个类Flight
Traffic
package com.oop.demo07;
public interface Traffic {
void goOut();
}
Sleep
package com.oop.demo07;
public interface Sleep {
String sleepWhere(String where);
}
Flight
package com.oop.demo07;
public class Flight implements Traffic, Sleep{
@Override
public void goOut() {
System.out.println("乘坐飞机出行.");
}
@Override
public String sleepWhere(String where) {
return where;
}
}
可以看出,接口有以下的一些特点:
原文:https://www.cnblogs.com/lucaz/p/14406800.html