class gcx
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
a.g();
}
void g()
{
System.out.println("..........");
}
}
这时可以正常显示~如换成:
class gcx
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
System.out.println("999" + a.g()); //编译器说此处不允许使用void类型
}
void g()
{
System.out.println("..........");
}
}
这是为什么?我只是想输出字符串的同时,再通过调用别的函数输出别的字符串
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
a.g();
}
void g()
{
System.out.println("..........");
}
}
这时可以正常显示~如换成:
class gcx
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
System.out.println("999" + a.g()); //编译器说此处不允许使用void类型
}
void g()
{
System.out.println("..........");
}
}
这是为什么?我只是想输出字符串的同时,再通过调用别的函数输出别的字符串
改成
String g()
{
return "......";
}
public void println(void v)所以不能输出
没有 return你的函数啥都不会返回,那么+a.g()就没意义了
public void println(void v)
所以不能输出
************************************************
System.out.println("999" + a.g());
此时参数不为void,所以这种解释欠妥个人看法:
"999" + a.g()本身不合法,不行你把它付值给一个String变量,估计也会报错
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
String str = "999" + a.g();
//System.out.println("999" + a.g());
}
void g()
{
System.out.println("..........");
}
}
这样写还是错,说明“void型的函数为什么不能在system.out.println中调用”的观点不成立
"999" + a.g() 这样的表达式,不能作相应的转变
你写的这段的错在于str的类型是string,这时g()也得是相同类型的啊~~所以肯定错了
直接写a.g()就可以~在system.out.println里和另一个字符串连接输出就不行了~~
无论在哪,不都是调用吗???
class gcx
{
gcx(int x)
{
System.out.println("hello"+x);
}
public static void main(String[] args)
{
gcx a=new gcx(1);
String str = "999" + a.g();
//System.out.println("999" + a.g());
}
String g()
{
System.out.println("..........");
return "ggggggggggg";
}
}
编译通过~~但显示时却是:
hello1
..........
return后来的都不显示~。这又是怎么回事啊~
a.g()返回任何东西,这只是一个过程,你怎么把它和"999"相加??
LZ你已经陷入牛角尖了,休息下再自己想想
killme2008(zane dennis) ( ) 信誉:96 2006-04-26 12:27:00 得分: 0
真无语
a.g()返回任何东西,这只是一个过程,你怎么把它和"999"相加??
LZ你已经陷入牛角尖了,休息下再自己想想
-----------------------------------
打错,不返回任何东西,你最好把返回是void的函数认为就是VB中的procedure
把void换成了string,再加一条return~~这样时,就可以显示啊~不仅return能显示,system.out.println的内容也显示了
这样的话,说明可以与999相加啊`~
larrygao927() ( ) 信誉:100 2006-04-26 12:45:00 得分: 0
killme2008:
把void换成了string,再加一条return~~这样时,就可以显示啊~不仅return能显示,system.out.println的内容也显示了
这样的话,说明可以与999相加啊`~
-----------------------------
你换成String当然能显示了,因为你返回了一个String,可以跟"999"向连,可如果是void根本不返回东西,怎么加?你告诉我
我过于关注system.out.println的显示了~想的是一调用就显示......~~然后跟999相连
实际.....根本不跟999~~调用时要的是返回的内容~