java怎么在静态方法中使用动态方法
发布网友
发布时间:2022-10-08 01:11
我来回答
共4个回答
热心网友
时间:2023-11-01 04:19
java在静态方法中使用动态方法的方法是new对象出来,然后用.的方式调用方法:
举例如下:
定义Outer.java:
public class Outer {
private static int size;
public void dostuff() {
size++;
System.out.println("hello,I am called");
}
}
然后在另外的测试类Main中,调用:
public class Main {
public static void main(String[] args) {
Outer outer =new Outer();
outer.dostuff();
}
}
运行结果:
热心网友
时间:2023-11-01 04:19
Java静态方法是不能调用动态方法的,原因如下:
1.因为静态方法和动态方法在内存中的位置不一样,静态方法的地址空间在加载类的时候就确定,而动态方法的地址空间在生成类实例的时候确定
2.静态方法在程序初始化后会一直贮存在内存中,不会被垃圾回收器回收,
非静态方法只在该类初始化后贮存在内存中,当该类调用完毕后会被垃圾回收器收集释放。
3.静态方法在初始化类时初始化,并分配内存;动态方法只有先创建类的实例对象后,才能调用动态方法
热心网友
时间:2023-11-01 04:20
1.静态的方法在整个应用程序其间存储在内存中,速度快,但占用内存.
class A
{
public static string b()
{
return "Hello";
}
}
用法: A.b(); //调用方便
静态方法可以通过类名直接调用,
2.动态的方法在先声明类实例才能调用类中的方法.
class A
{
public string b()
{
return "Hello";
}
}
用法: A a = new a(); a.b();
3.一般使用频繁的方法用静态方法,用的少的方法用动态的。静态的速度快,占内存。动态的速度相对慢些,但调用完后,立即释放类,可以节省内存,可以根据自己的需要选择是用动态方法还是静态方法。
4.静态方法主要的问题就是数据同步的问题。如果你的静态方法的类中不保存私有变量那么什么问题都不会有的。最好是包要操作的数据全部以参数的方式传到方法中去
5. 静态方法是类方法,调用时不需要创建类实例。
6. 静态方法是静态绑定到子类,不是被继承。
热心网友
时间:2023-11-01 04:20
Java里静态方法不能调用非静态方法。
只能把被调用的方法改成静态的。