首先声明一个公共的手机类,定义开关机和解锁方法。
abstract class Mobile{
void on(){
System.out.println("开机");
}
void off(){
System.out.println("关机");
}
abstract void unlock();//使用抽象类、抽象方法从而使再调用unlock方法时必须进行复写
}
定义一个iphone类继承自Mobile
class iphone extends Mobile{
void unlock(){
System.out.println("滑动解锁");
}
}
定义一个nokia类继承自Mobile
class nokia extends Mobile{
void unlock(){
System.out.println("按动解锁");
}
}
定义主函数
class Test{
public static void main(String args[]){
Mobile m1=new iphone();
m1.on();
m1.unlock();
m1.off();
Mobile m2=new nokia();
m2.on();
m2.unlock();
m2.off();
}
}
将父类中的unlock方法定义为抽象方法可有效避免没有语法错误但语义错误的情况。(即程序能编译通过,但不是想要的结果)