问答详情
源自:8-3 如何使用 Java 中的对象

Telphone类中,sendMessage方法后面括号里为什么不要写引用参数?变量在方法外,方法里要使用不要定义参数吗?

public class InitailTelphone

{

    public static void main(String[] args)

    {

            Telphone phone=new Telphone( );

            phone.screen=5.0f;

            phone.cpu=1.4f;

            phone.mem=2.0f;

            phone.sendMessage();

    }

}


public class Telphone

{

    float screen;

    float cpu;

    float mem;

    void sendMessage()

    {

        System.out.println("screen:"+screen+"cup:"+cup+"mem:"+mem+"Telphone有发短信的功能");

    }

}

提问者:再码一段 2016-12-22 21:59

个回答

  • skyking524
    2016-12-24 11:05:55
    已采纳

    public class Test {
    
    	public static void main(String[] args) {
    		//创建一个TelPhone类的对象
    		Telphone phone = new Telphone();
    		//直接调用对象的属性并给他赋值
    		phone.screen = 5.0f;
    		phone.cpu = 1.4f;
    		phone.mem = 2.0f;
    		//这个时候其实已经把属性的赋值完成了,在调用这个对象的方法他就可以直接输出你的信息
    		phone.sendMessage();
    	}
    }
    
     class Telphone {
    	 /*
    	  * 在类里面定义的变量都叫做成员变量,是属于对象的。
    	  * 并且每个成员变量都有	其访问权限,这个你看到后面就会知道
    	  * 现在你只要知道如果前面什么都不加可以直接用对象名.属性就可以修改对象的属性值
    	  */
    	float screen;
    	float cpu;
    	float mem;
    /*
     * 为什么sendMessage里面不用添加参数?
     * 添加参数是类似这种sendMessage(float screen, float cpu)
     * 如果我们只是单纯想输出我们对象里面的信息,不需要从外部获得信息并输出的话我们是不需要传入参数的
     *
     * 
     */
    	void sendMessage() {
    		System.out.println("screen:" + screen + "cup:" + cup + "mem:" + mem + "Telphone有发短信的功能");
    	}
    
    }


  • 再码一段
    2016-12-22 22:02:33

    又如这段代码,其中方法使用变量却定义参数。这个参数到底什么时候用什么时候不用?

    public class HelloWorld {

        public static void main(String[] args) {

            

    // 创建对象,对象名为hello

    HelloWorld hello = new HelloWorld();

            // 调用方法,传入两门课程的成绩

    hello.calcAvg(94, 81);

    }


    /*

    * 功能:计算两门课程考试成绩的平均分并输出平均分

    * 定义一个包含两个参数的方法,用来传入两门课程的成绩

    */

        public void calcAvg(int a,int b)

        {

            int a;

            int b;

            int avg=a/b;

            System.out.println("平均分:"+avg);

        }