日期:2014-05-20  浏览次数:20737 次

java中普通方法A,调用另外一个类的静态方法B,等于是把B的代码copy到A里面吗?

public class Test {

public static void A() {
System.out.println("hello A!");
B.show();
}

}


public class B {

public static void show(){
System.out.println("hello B !");
}
}


搞了大半年的java了,前几天做东西的时候听到别人这么说,小弟不才,才疏学浅,真心求教了

------解决方案--------------------
不是

静态只是把代码放到公共地方吧,这是虚拟机的实现方式,跟代码层面没关系
------解决方案--------------------
方法调用是一个入栈和出栈的过程。
------解决方案--------------------
2楼正解,因为public是公共类可以访问static静态方法。其实就是调用对象B的show()方法。
------解决方案--------------------
函数都有地址,调用时只是将cpu解析的指令跳到那个地址而已,如果每次调用都拷贝那叫宏,java是不支持的