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

在Java的一个类中应该可以调用另一个类的public static 方法,而不用类名点方法调用,例如另一个类中有一个方法 public static void f();
在本类中应该可以写成f();可编译不让呀,为什么?

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

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

调用静态方法的语法是,

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

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


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

int result  = OtherClass.publicMethodA();


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

int result2 = new OtherClass().publicMethodB();

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-24
不可以,
A{ public static f()}
B( A.f()};

虚拟机里面只有当第一次装载A得时候才会去完成f()得初始化,可以理解为F()是A得一片内存区域内存放;要找到f()必须找到它的主人A才能完成调用。本回答被提问者采纳
第2个回答  2011-08-29
呵呵,如果在本类中直接写f(),你可以这样理解,this.f()表示调用这个类的f()方法,如果你这个类中没有f()方法,当然会报错了。类与类之间的通信就是通过对象调用方法,static破坏了封装性,不属于面向对象的内容,所以可以直接用类名调用。理解了这些,就可以了。希望对你有所帮助。
第3个回答  2011-08-30
可以调用。
但是你需要创建对象,用对象去调用你的static方法;
比如对象name.f()
或者你直接用class来调用该方法,
比如 classname.f()。
这样就可以实现调用
第4个回答  2015-05-22
当然可以,静态共有方法本来就是让别人调用的。 一般用 类名.方法名 就可以直接使用了。

Java中可不可以在一个类中调用另一个类的静态共有方法
Java中当然可以在一个类中调用另一个类的静态公有方法。首先公有方法,其他类是可以访问的。调用静态方法的语法是,类名.方法名(参数...)所以,比如另一个类叫OtherClass,它的静态公有方法是publicMethodA(),假设它还有返回值,是int类型,那么在自己的类里调用的方式就是:int result = Other...

java中同一个包下面的一个类能不能调用另一个类里面有参数的方法
如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。如下:class A{ public static void a(){} public void b(){} } public ...

Java中的一个类怎么调用另一个类中的方法?
如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象)来调用。对于静态方法,其他的静态或非静态方法都可以直接调用它。而对于非静态方法,其他...

怎么在一个类中调用另一个类的方法
类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。例如:publicclassMethodCall{publicstaticvoidmain(String[]args){Test.sayStatic();Testtest=newTest();test.sayInstance();}}classTest{publicstaticvoidsayStatic(){System.out.println("这是一个静态...

java中为什么一个类中的一个方法调用另一个方法需要将被调用的方法声明...
不是的,但如果你在main方法里面调用的话就得是static了,因为main本来就是静态方法,只能调用静态的方法了。如果不是在main方法里面就可以。

JAVA一个包里建立好两个类,一个类如何调用另一类的里的数据?
1、先在eclipse中创建一个Java工程文件。并在src下创建demo包,在demo包下创建类DemoClass。2、接下来在DemoClass类中添加一个静态属性和静态方法。被static修饰的属性或方法就是静态的。3、对于静态方法的调用,可以使用调用非静态方法的方式去调用,即创建一个类的对象,然后再调用静态方法。4、编辑好...

java中一个类想调用另一个类的变量,必须到方法里面吗,直接在类里面能不...
java 不能在类中初始化引用,所以不能直接在类中new一个对象出来,要使用其他类的变量,必须在自己的类的方法中先创建被引用类的实例,通过实例来引用该类的变量,但是,如果被引用的类的变量是静态的,则可以通过如下指令引用:类名.变量 来直接引用这个变量。

java中在同一类中普通方法可以直接调用普通方法和静态方法吗?
可以,非常可以!你把这事简单想成,先来后到,就容易多了!静态方法,以及静态成员,都会比普通类,方法,成员,优先进入内存的!(后进来的)调用(先进来的),方法,是绝对可以的,理所应当,因为他早早的就进内存了!它调用自己同类的普通方法,也是可以的,因为他们一起来的!反过来,你用(静态)去调用(普通)方法...

java内部类可以访问外部类的静态方法吗
直接访问 外部变量 ,外部类不能直接访问内部类变量,必须通过创建内部类实例的方法访问,new InnerClass (32).m就是创建内部类实例访问内部类成员变量。你 想不通 的肯定是指内部类的私有变量 怎么可以 被外部类访问吧,按常规,私有变量m只能在InnerClass里被访问,但你要注意,内部类就相当于一个...

Java如何在一个类中引用另一个类的成员变量和方法
public Student(String id,String name){ this.id = id;this.name = name;} } === public class Test(){ String ids;String names;public static void main(String[] args){ Test test = new Test();Student stu = new Student("001","jack");test.ids = stu.id;test.nams = stu.n...

相似回答