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是不支持的