课后作业3

问题1:

 

解决:

 

问题2:

 

解决

结果截图如下:

原因:

问题3:

 

解决: 

结果截图为:

总结:

问题4:

解决:

代码如下

package demo;
public class Tset1 {

  public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Tes2 test=new Tes2();                                  //实例化对象
  Tes2.jingTai(test);                                         //调用静态方法

  }
}
class Tes2
{
  public int value=100;
  public void setValue(int value)
  {
    this.value=value;                                                     //赋值函数
  }
  public int getValue()
  {
    System.out.println("输出结果为:"+value);             //输出类成员的函数
    return 0;
  }
  public static void jingTai(Tes2 test)                                //静态方法
  {
    test.value=200;
    test.setValue(300);                 
    test.getValue();

  }
}

在Tes2类中定义了一个静态方法,要想能够访问类的实例成员,需要在静态方法中包含参数,类型为Tes的对象,用来调用参数的成员与方法。

问题5:

 

输出结果如图:

解决:

运用javap反编译,先将代码存放到记事本中,将文件命名为.java文件,将保存类型改为所有文件后保存在指定文件夹中,用cd命令调转到当前指定文件夹中,然后用javac+文件名.java,注意空格,生成.class文件后,再输入javap -c+文件名,同样也要注意空格,就会输出反编译的结果。

 

 可以看到调用了Intege的valueOf函数,在源文件中查看源码,发现结果如下:

调用了不同的函数,第一次调用了valueOf(int)的函数,而第二次调用了valueOf(String),函数导致输出的结果不同。

 

posted @ 2017-10-18 22:07  猫五  阅读(130)  评论(0编辑  收藏  举报