这个方法是如何工作的

时间:2012-12-17 21:05:05

标签: java

所以我得到Graph.java文件并且有一个方法(那里有更多东西):

public Graph(double y, int gr, String title, double vidurkis, double trend) {
   grooms = gr;
}

此Graph.java文件中不再提及此Graph方法。现在,新郎变量变为= gr = 30。此30Graph.java从未提及if (which == 1){ graphic = new Graph((Math.floor(((d_bride+d_groom) * 3 + divorce) * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend); } else { graphic = new Graph((Math.floor((d_bride + d_groom) * 3 * 10)) / 10, grooms, "Number of grooms: " + grooms + "; bride distribution: " + d_bride + "; grooms distribution: " + d_groom, pr_vidurkis, trend); } 。所以我想这个方法是从其他文件调用的,对吗?

现在有BrideInSwing.java文件,并且还使用了Graph方法:

Graph.java

所以根据我的理解,这会调用带有Graph.java文件中相应参数的Graph方法吗?如果是,那么为什么这里给出的参数多于y文件中只有5的参数:grtitlevidurkistrend,{ {1}}。

或者我在这里完全遗漏了什么?感谢。

3 个答案:

答案 0 :(得分:3)

您对代码的分析确实不太远。

您的图表方法是一个构造函数,一种用于创建新对象的方法。我建议你阅读面向对象的编程,然后做一两个教程来掌控你。

我做了一些快速的谷歌搜索,发现this tutorial,应该是你的胡同。

答案 1 :(得分:2)

这不是一种方法,而是constructor。它使用给定的初始化参数(在第二个代码中给出)创建类Graph的新Object。

你可以有重载的构造函数,几个构造函数,每个构造函数使用不同数量/类型的参数。编译器将选择满足指定参数列表的构造函数(如果没有可用的则抛出编译器错误)。

以上所有内容也适用于常规方法。

答案 2 :(得分:2)

根据定义,公共方法旨在从类的oustide中调用(它们也可以从内部调用,但如果这是唯一的目标,则该方法应该是私有的。)

但是,此方法不是方法,而是构造函数。

它用5个参数调用:

  1. Math.floor(((d_bride+d_groom)*3+divorce)*10))/10
  2. grooms
  3. "Number of grooms: "+grooms+"; bride distribution: "+d_bride+"; grooms distribution: "+d_groom
  4. pr_vidurkis
  5. trend
  6. 你的代码中最令人不安的是构造函数有5个参数,但对4个参数没有任何作用。应该使用参数,或者应该删除它们。