class A{
public a{
long name =0;
B.b(name);System.out.println("name:" + name);
}}
class B{
public static b(long name){name = 5;
}}
为什么name的值还是0,而不是5呢
public a{
long name =0;
B.b(name);System.out.println("name:" + name);
}}
class B{
public static b(long name){name = 5;
}}
为什么name的值还是0,而不是5呢
对于基本类型变量,处理方式跟C++一样,形参无法改变实参.
class test
{
public static void main(String[] args)
{
System.out.println("Hello World!");
A aa=new A();
}
}
class A{
public A(){
long name =0;
name=B.b(name);
System.out.println("name:" + name);
}}
class B{
public static long b(long name){
return name = 5;
}}
LZ写完之后没编译吧? 提醒一下 构造方法必须和类名一致 JAVA中严格区分大小写 还有就是方法如果有返回值必须指定返回值类型 没返回值要加void关键字
public A()
{
long name =0;
name=B.b(name);
System.out.println("name:" + name);
}
}
class B{
public static long b(long name){name = 5;
return name;
}}
class Test
{
public static void main(String[]args)
{
A a=new A();
}
}
}
public A(){
int name=0;
B.b(name);
System.out.println("name:" + name);
}
}
class AA{
public static void main(String[] args){
A a=new A();
}
}class B{
public static void b(int name){
name=5;
}
}
楼住的程序应该没有调通,我调了一个,需要说明的是:
在调用B.b(name)的时候。你只是将name作为一个参数传递进去,做了一个运算,但运算的结果其实是另一个值,你并没有返回。
体会一下和下面程序的区别:
class A{
public static int name=0;
public A(){
B.b(name);
System.out.println("name:" + name);
}
}
class AA{
public static void main(String[] args){
A a=new A();
}
}class B{
public static void b(int name){
A.name=5;
}
}
还有下面这个程序:
class A{
public A(){
int name=0;
name=B.b(name);
System.out.println("name:" + name);
}
}
class AA{
public static void main(String[] args){
A a=new A();
}
}class B{
public static int b(int name){
return name=5;
}
}
改成这样就好了:
public class Employee
{
public static void main(String[] args) {
System.out.println("Hello World!");
A aa = new A();
}
}
class A{ public A() {
long name = 0;
name=B.fangfa(name); System.out.println("name:" + name);
}
}class B{
public static long fangfa(long name){return name = 5;
}}
呵呵 我也是新手