关于继承,类,抽象类,接口的实际操作

来源:互联网 发布:黑客帝国3矩阵革命免费 编辑:程序博客网 时间:2024/06/07 02:25

关于继承,类,抽象类,接口的实际操作


/*
 * 抽象类:为子类提供公有方法外,还定义了子类必须实现的方法
 */
public abstract class Phone {                                                定义 父类
public void call(int tel){//为子类提供公有方法外
System.out.println("打电话给"+tel);
}
public void getcall(String msg){
System.out.println("用"+msg+"接电话");
}
public abstract void sendmessage(String msg);//还定义了子类必须实现的方法
}


/*
 * 接口里定义的方法都是抽象方法
 * 接口里定义的变量都是常量(public static final)
 * 接口是多继承,类是单继承
 * 接口定义子类的方法,不具体实现
 */
public interface IGame {//定义接口IGame
// public static final int AB_c=3;
    public abstract void playgame();//定义方法,不具体实现
}


public class SmartPhone extends Phone implements IGame {    定义子类SmartPhone继承父类Phone同时拥有接口 IGame

 public  void playgame(){//接口IGame里定义的抽象方法在SmartPhone类里具体实现
 System.out.println("智能机玩手游游戏");
 }
@Override
public void sendmessage(String msg) {//子类实现的父类定义必须实现的方法
System.out.println("能发短信");
}


}


public static void main(String[] args) {
// TODO Auto-generated method stub
Phone sphone=new SmartPhone();//父类实例化子类     自类实例向上转性
Phone cphone=new Cellphone();
sphone.call(119);//实例化对象调用方法并赋值

sphone.getcall("智能机");

SmartPhone sphone1=(SmartPhone)sphone;//把已经向上转型的子类实例强制向下转型
sphone1.playgame();
sphone.sendmessage("智能机");

cphone.sendmessage("这里");

}


}

0 0
原创粉丝点击