您的位置:首页 > 编程语言 > Java开发

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

2014-11-07 10:11 225 查看
看到标题,很多朋友会很纳闷,这么初级的问题,还用讨论吗?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();

  }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 补丁版本问题
相关文章推荐