为啥调用不了

来源:7-4 Java 中的 this 关键字

qq_窗外有清风_04152712

2017-03-02 16:55

package com.imooc;


public class Telphone {

private float screen;

private float cpu;

private float mem;

   

   public void sendMessage(){

  System.out.println("send message。");

   }

public float getScreen() {

return screen;

}

public void setScreen(float screen) {

this.screen = screen;

this.sendMessage();

}

public float getCpu() {

return cpu;

}

public void setCpu(float cpu) {

this.cpu = cpu;

}

public float getMem() {

return mem;

}

public void setMem(float mem) {

this.mem = mem;

}

public Telphone(){

  System.out.println("无参数的构造方法执行了");

}

public Telphone(float newScreen,float newCpu,float newMem){

  if(newScreen<3.5f){

  

  System.out.println("您输入的参数值有问题,自动赋值为3.5");

  screen=3.5f;

  }

  else

  {

  screen=newScreen;

  

  }

  cpu=newCpu;

  mem=newMem;

  

  System.out.println("有参数的构造方法执行了screen:"+this.getScreen());

}

}

http://img.mukewang.com/58b7dddd0001208a06620402.jpg

结果:

无参数的构造方法执行了

有参数的构造方法执行了screen:5.0

为什么没有显示send Message

写回答 关注

3回答

  • 我去都被占了
    2017-03-02 17:58:03
    已采纳

    你是想试验this关键字吗?

    public void setScreen(float screen) {

    this.screen = screen;

    this.sendMessage();//不知道你把调用方法放这个属性set里是想干啥!?

    }

    但是你要用this关键字调用send方法可以在构造方法中使用实现你要的输入

    public Telphone(){

      System.out.println("无参数的构造方法执行了");

      this.sendMessage();//用this关键字调用

    }

    public Telphone(float newScreen,float newCpu,float newMem){

      if(newScreen<3.5f){

      System.out.println("您输入的参数值有问题,自动赋值为3.5");

      screen=3.5f;

      }

      else

      {

      screen=newScreen;

      

      }

      cpu=newCpu;

      mem=newMem;

      System.out.println("有参数的构造方法执行了screen:"+this.getScreen());

      this.sendMessage();//用this关键字调用

    }


    qq_窗外有...

    非常感谢!

    2017-03-02 18:11:17

    共 1 条回复 >

  • 慕函数8491977
    2017-03-02 19:38:06

    因为你的主函数main()、主函数调用的telphone()、telphone(float,float,float)都没有调用过sendMessage()方法,也就是你的sendMessage()方法没被运行过

  • 慕粉1406301482
    2017-03-02 17:18:33

    新人,为了积分凑个热闹。问题是最后一句的“为什么没有显示send Message”吧?方法sendmessage,并没有见到有调用。

    phone与phone2调用的都是telphone()方法啊,而telphone()方法并没有调用你需要的send。。。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题