• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

在这代码中,为什么用接口进行向上或向下转换呢?

原题是:以接口与实现类为例说明向下转型和向下转型是怎么实现的?

以下是我用代码举的例子,不知道符不符合题意要求?请帮忙看看
//父类
public class Telphone {
        public void call() {
                System.out.println("接打电话");
        }


        public void message() {
                System.out.println("收发短信");
        }


}
//子类
public class SmartPhone extends Telphone implements IPlayGame {


        @Override
        public void playGame() {
                System.out.println("SmartPhone可以玩游戏了");


        }


}
//接口
public abstract interface IPlayGame {
        public void playGame();
}
//main函数
public class Initail {
        public static void main(String[] args) {
//向下转型
                 SmartPhone smartphone = new SmartPhone();
                 smartphone.call();
                 
                 if(smartphone instanceof IPlayGame){
                         IPlayGame i = (IPlayGame)smartphone;
                         i.playGame();
                         
                 }
//接口无法向上转型。因为所属抽象类无法创建对象。
        }
}
很少来提问,不知道看起来会不会不顺眼。


因为据说这是一套面试题,所以就问详细一点,还有几个问题:
                为什么要对接口进行向下转换和向上转换?
                直接创建对象就好了,为什么要向上或向下转型呢?我没明白这个作用是什么?
                怎么去论述:向上转型和向下转型是怎么实现的?(从哪方面?)

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

向上转型是将子类型隐藏,就是不能使用子类的特有方法;
向下转型是为了使用子类的特有方法。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!