java怎么在静态方法中使用动态方法
4个回答
2016-05-21 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
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();
}
}
运行结果:
展开全部
Java静态方法是不能调用动态方法的,原因如下:
1.因为静态方法和动态方法在内存中的位置不一样,静态方法的地址空间在加载类的时候就确定,而动态方法的地址空间在生成类实例的时候确定
2.静态方法在程序初始化后会一直贮存在内存中,不会被垃圾回收器回收,
非静态方法只在该类初始化后贮存在内存中,当该类调用完毕后会被垃圾回收器收集释放。
3.静态方法在初始化类时初始化,并分配内存;动态方法只有先创建类的实例对象后,才能调用动态方法
1.因为静态方法和动态方法在内存中的位置不一样,静态方法的地址空间在加载类的时候就确定,而动态方法的地址空间在生成类实例的时候确定
2.静态方法在程序初始化后会一直贮存在内存中,不会被垃圾回收器回收,
非静态方法只在该类初始化后贮存在内存中,当该类调用完毕后会被垃圾回收器收集释放。
3.静态方法在初始化类时初始化,并分配内存;动态方法只有先创建类的实例对象后,才能调用动态方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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. 静态方法是静态绑定到子类,不是被继承。
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. 静态方法是静态绑定到子类,不是被继承。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java里静态方法不能调用非静态方法。
只能把被调用的方法改成静态的。
只能把被调用的方法改成静态的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询