【问题标题】:How to cast class object to interface如何将类对象转换为接口
【发布时间】:2016-06-29 16:50:23
【问题描述】:

我有一个interface Home 和一个class HomeClass implements Home

如何将HomeClass 的对象转换为Home

【问题讨论】:

  • Home home = (Home) homeClass?我认为你甚至不需要投射它。应该是隐式的。
  • 你根本不需要投射它。您能否发布您的代码示例,以便我们可以看到您要解决的问题?
  • @Levan 如果任何答案有效,请标记为答案并投票:)
  • 只要 HomeClass 实现 Home 接口,如上所述,不需要强制转换。考虑阅读以下内容:docs.oracle.com/javase/tutorial

标签: java class interface casting


【解决方案1】:

你不需要投射任何东西。你可以简单地使用Home obj = new HomeClass()

【讨论】:

    【解决方案2】:

    你不需要投射它。在这种情况下:

    Object bar = new HomeClass();
    Home x = bar; 
    

    Java 不能给你保证,那个栏确实是 HomeClass。它会注意到你:Incompatible types。 in bar 可以是任何东西,所以你必须施放它。在此:

    HomeClass bar = new HomeClass();
    Home x = bar;
    

    编译器可以确定,那个bar只能是HomeClass或者? extendsHomeClass(他们必须实现Home)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-28
      • 2011-05-07
      • 2018-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多