Java中可不可以在一个类中调用另一个类的静态共有方法
在Java的一个类中应该可以调用另一个类的publicstatic方法,而不用类名点方法调用,例如另一个类中有一个方法publicstaticvoidf();在本类中应该...
在Java的一个类中应该可以调用另一个类的public static 方法,而不用类名点方法调用,例如另一个类中有一个方法 public static void f();
在本类中应该可以写成f();可编译不让呀,为什么? 展开
在本类中应该可以写成f();可编译不让呀,为什么? 展开
8个回答
展开全部
Java中当然可以在一个类中调用另一个类的静态公有方法。
首先公有方法,其他类是可以访问的。
调用静态方法的语法是,
类名.方法名(参数...)
所以,比如另一个类叫OtherClass,它的静态公有方法是publicMethodA(),假设它还有返回值,是int类型,
那么在你自己的类里调用的方式就是:
int result = OtherClass.publicMethodA();
另外,调用非静态方法(也叫成员方法),比如方法叫int publicMethodB(),就必须先创建这个对象再调用其方法,例如:
int result2 = new OtherClass().publicMethodB();
展开全部
不可以,
A{ public static f()}
B( A.f()};
虚拟机里面只有当第一次装载A得时候才会去完成f()得初始化,可以理解为F()是A得一片内存区域内存放;要找到f()必须找到它的主人A才能完成调用。
A{ public static f()}
B( A.f()};
虚拟机里面只有当第一次装载A得时候才会去完成f()得初始化,可以理解为F()是A得一片内存区域内存放;要找到f()必须找到它的主人A才能完成调用。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,如果在本类中直接写f(),你可以这样理解,this.f()表示调用这个类的f()方法,如果你这个类中没有f()方法,当然会报错了。类与类之间的通信就是通过对象调用方法,static破坏了封装性,不属于面向对象的内容,所以可以直接用类名调用。理解了这些,就可以了。希望对你有所帮助。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以调用。
但是你需要创建对象,用对象去调用你的static方法;
比如对象name.f()
或者你直接用class来调用该方法,
比如 classname.f()。
这样就可以实现调用
但是你需要创建对象,用对象去调用你的static方法;
比如对象name.f()
或者你直接用class来调用该方法,
比如 classname.f()。
这样就可以实现调用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然可以,静态共有方法本来就是让别人调用的。 一般用 类名.方法名 就可以直接使用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询