java类中增加了新方法,该方法掉用了另外一个类中没有的方法,在不执行该方法的情况下,执行会不会报错

看到标题,很多朋友会很纳闷,这么初级的问题,还用讨论吗?eclipse里面编译不通过呀。。。其实,里面另有玄机...

答案是执行不会报错。

现在写下我的复原过程,供大家参考。

总共A、B和Main三个类,A中注入B类,两类中各有print1和print2方法,A的print1调用B的print1,print2调用B的print2,Main只调用A的print1方法。然后整体编译,编译后的class放到新文件夹中,此时执行Main,输出print1的结果。然后只删除B类中的print2方法,将编译好的B类替换原来的B类,执行Main,输出print1的结果。结果不报异常。我把代码贴出来,方便大家理解(类反编译后的代码)。

类A:

public class A

{

  private B b;


  public B getB()

  {

    return this.b;

  }


  public void setB(B b)

  {

    this.b = b;

  }


  public void print1() {

    this.b.print1();

  }


  public void print2() {

    this.b.print2();

  }

}

类B:

import java.io.PrintStream;


public class B

{

  public void print1()

  {

    System.out.println(1);

  }

}

类Main:

public class Main

{

  public static void main(String[] args)

  {

    A a = new A();

    B b = new B();

    a.setB(b);

    a.print1();

  }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值