Java 两个类传递参数,简单例子
{
int j=10;
}
class test2
{
test1 p;
public static void main(test1 j)
{
System.out.println(p);
}
}
//我就想把test1里的j 传到test2中,再 打印出来,为什么运行不了,参数写的对吗??
哦,忘说了不好意思,我的意思是 ,不要再 new test1();了,这个我会,我要的是直接传递参数到 test2,不要再new 一个test1()。
新建test1() 与 原先的test1()意思相同,但却不是同一个实例,是新建出来的
-0- 我搞定了,谢谢楼下的 展开
{
int j=10;
}
//public class test {
// static test1 pTest1=new test1(); //新建类的实例
// public static void main(String[] args) {
// // TODO Auto-generated method stub
// System.out.println(pTest1.j); //输出j的值
// }
//}
//你也可以用继承,下面引用超类变量 super.j;
public class test extends test1 {
int getJ(){
return super.j;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
test T=new test();
System.out.println(T.getJ()); //输出j的值
}
}
//楼主,main是静态入口。不新建实例是不行的 super.j;得到的是原值;
test T=new test();
是新建下面的类实例
main一般是用来调试程序的,你要输出肯定要初始化 就算你的项目以后投入使用 总得要程序入口吧? 建议楼主去了解下main()函数
程序里面还有些小问题,给你修改了下,我已经测试过了,希望能帮到你~~!
class test1
{
int j=10;
}
class test2
{
test1 p = new test1();
public static void main(String[] args)
{
test2 t = new test2();
System.out.println(t.p.j);
}
}
public class Main {
private String mainProperty;
public String getMainProperty() {
return mainProperty;
}
public Main(String inStr) {
mainProperty = inStr;
}
public void print(Main1 m1) {
System.err.println(m1.getMain1Property());
}
public static void main(String[] args) {
Main1 m1 = new Main1("m1");
Main m = new Main("m");
m1.print(m);
m.print(m1);
}
}
class Main1 {
private String main1Property;
public String getMain1Property() {
return main1Property;
}
public Main1(String inStr) {
main1Property = inStr;
}
public void print(Main m) {
System.err.println(m.getMainProperty());
}
}
{
int j=10;
}
class test2
{
test1 p;
public static void main(test1 j)
{
test1 t=new test1();
test2 t2=new test2();
t2.p=t.j
System.out.printlnt2.p);
}
}