所以我得到Graph.java
文件并且有一个方法(那里有更多东西):
public Graph(double y, int gr, String title, double vidurkis, double trend) {
grooms = gr;
}
此Graph.java文件中不再提及此Graph方法。现在,新郎变量变为= gr = 30
。此30
中Graph.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的参数:gr
,title
,vidurkis
,trend
,{ {1}}。
或者我在这里完全遗漏了什么?感谢。
答案 0 :(得分:3)
您对代码的分析确实不太远。
您的图表方法是一个构造函数,一种用于创建新对象的方法。我建议你阅读面向对象的编程,然后做一两个教程来掌控你。
我做了一些快速的谷歌搜索,发现this tutorial,应该是你的胡同。
答案 1 :(得分:2)
这不是一种方法,而是constructor
。它使用给定的初始化参数(在第二个代码中给出)创建类Graph
的新Object。
你可以有重载的构造函数,几个构造函数,每个构造函数使用不同数量/类型的参数。编译器将选择满足指定参数列表的构造函数(如果没有可用的则抛出编译器错误)。
以上所有内容也适用于常规方法。
答案 2 :(得分:2)
但是,此方法不是方法,而是构造函数。
它用5个参数调用:
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
你的代码中最令人不安的是构造函数有5个参数,但对4个参数没有任何作用。应该使用参数,或者应该删除它们。