Java中可不可以在一个类中调用另一个类的静态共有方法

在Java的一个类中应该可以调用另一个类的publicstatic方法,而不用类名点方法调用,例如另一个类中有一个方法publicstaticvoidf();在本类中应该... 在Java的一个类中应该可以调用另一个类的public static 方法,而不用类名点方法调用,例如另一个类中有一个方法 public static void f();
在本类中应该可以写成f();可编译不让呀,为什么?
展开
 我来答
mikemelon2012
推荐于2016-03-08 · TA获得超过3633个赞
知道大有可为答主
回答量:938
采纳率:87%
帮助的人:368万
展开全部

Java中当然可以在一个类中调用另一个类的静态公有方法。

首先公有方法,其他类是可以访问的。

调用静态方法的语法是,

    类名.方法名(参数...)

所以,比如另一个类叫OtherClass,它的静态公有方法是publicMethodA(),假设它还有返回值,是int类型,


那么在你自己的类里调用的方式就是:

int result  = OtherClass.publicMethodA();


另外,调用非静态方法(也叫成员方法),比如方法叫int publicMethodB(),就必须先创建这个对象再调用其方法,例如:

int result2 = new OtherClass().publicMethodB();
flyingFish211
推荐于2017-11-24 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
不可以,
A{ public static f()}
B( A.f()};

虚拟机里面只有当第一次装载A得时候才会去完成f()得初始化,可以理解为F()是A得一片内存区域内存放;要找到f()必须找到它的主人A才能完成调用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
568145421
2011-08-29 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6755

向TA提问 私信TA
展开全部
呵呵,如果在本类中直接写f(),你可以这样理解,this.f()表示调用这个类的f()方法,如果你这个类中没有f()方法,当然会报错了。类与类之间的通信就是通过对象调用方法,static破坏了封装性,不属于面向对象的内容,所以可以直接用类名调用。理解了这些,就可以了。希望对你有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潭欧莲
2011-08-30 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:95万
展开全部
可以调用。
但是你需要创建对象,用对象去调用你的static方法;
比如对象name.f()
或者你直接用class来调用该方法,
比如 classname.f()。
这样就可以实现调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhongtyler
2015-05-22 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:872万
展开全部
当然可以,静态共有方法本来就是让别人调用的。 一般用 类名.方法名 就可以直接使用了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式