开发者社区> 问答> 正文

请问B b=new C();中的b是B的对象还是C的对象

B b=new C();中的b是B的对象还是C的对象
另外想问一下抽象方法在程序里是怎么作用的

abstract class B
{
void outB()
{

System.out.println("in B.");

}
abstract void method();
}
class C extends B
{
void method()
{ System.out.println("inC.");}
}
public class Exam
{
public static void main(String args[])
{

  B b=new C();
  b.method();
  b.outB();

}
}

展开
收起
linchia1 2018-01-30 17:21:44 2670 0
4 条回答
写回答
取消 提交回答
  • 你能这么写代码,就意味着c必须是b的子类,否则不能通过编译。所以回到问题,首先你是new出来的c,他一定是c。又因为c是b的子类,所以你说他的类型是b也不会错。

    2019-07-17 21:57:11
    赞同 展开评论 打赏
  • 对象C的实例,可以参考下类的继承的概念 http://www.runoob.com/java/java-inheritance.html

    2019-07-17 21:57:11
    赞同 展开评论 打赏
  • 一名路过的小码农,大神请多多指教

    肯定是对象C的实例,没毛病

    2019-07-17 21:57:11
    赞同 展开评论 打赏
  • 软件开发,安全加密

    对象C呀


    看看类的继承

    2019-07-17 21:57:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
对象的生命期管理 立即下载
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载