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());
}
}
结果:
无参数的构造方法执行了
有参数的构造方法执行了screen:5.0
为什么没有显示send Message
你是想试验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关键字调用
}
因为你的主函数main()、主函数调用的telphone()、telphone(float,float,float)都没有调用过sendMessage()方法,也就是你的sendMessage()方法没被运行过
新人,为了积分凑个热闹。问题是最后一句的“为什么没有显示send Message”吧?方法sendmessage,并没有见到有调用。
phone与phone2调用的都是telphone()方法啊,而telphone()方法并没有调用你需要的send。。。
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题