如何从包中的所有类访问方法而不在java中创建对象

如何从包中的所有类访问方法而不在java中创建对象,java,class,methods,scope,Java,Class,Methods,Scope,如何从包中的所有类访问方法而不创建该类的对象 主类 我的第二节课 是否可以调用width()和height(),而不使子类的对象成为No。对于非静态方法,您需要一个实例来调用它们。否。对于非静态方法,您需要一个实例来调用它们。好吧,不,简而言之。如果不更改某些内容,就无法调用这些方法 您可以将方法标记为static,然后在不创建对象的情况下调用它们。但是如果windowWidth和windowHeight是实例成员,您将无法访问它们,因此方法本身的代码将无法编译。很明显,它们将不再是相同的方法—

如何从包中的所有类访问方法而不创建该类的对象

主类

我的第二节课


是否可以调用width()和height(),而不使子类的对象成为No。对于非静态方法,您需要一个实例来调用它们。

否。对于非静态方法,您需要一个实例来调用它们。

好吧,不,简而言之。如果不更改某些内容,就无法调用这些方法


您可以将方法标记为static,然后在不创建对象的情况下调用它们。但是如果
windowWidth
windowHeight
是实例成员,您将无法访问它们,因此方法本身的代码将无法编译。很明显,它们将不再是相同的方法——因此答案仍然是,真的,不。

好吧,不,简而言之。如果不更改某些内容,就无法调用这些方法


您可以将方法标记为static,然后在不创建对象的情况下调用它们。但是如果
windowWidth
windowHeight
是实例成员,您将无法访问它们,因此方法本身的代码将无法编译。显然,它们将不再是相同的方法——因此答案仍然是,真的,不。

你必须创建一个对象的实例来调用它的方法。除非方法位于调用对象上

编辑


以上仅适用于非静态方法。另一方面,静态方法可以而且应该在类级别上访问(即不需要实例)。

必须创建对象的实例才能调用其方法。除非方法位于调用对象上

编辑


以上仅适用于非静态方法。另一方面,静态方法可以而且应该在类级别上访问(即不需要实例).

如果要使用该方法而不创建该特定类的实例,则必须将该方法声明为静态方法

如果要使用该方法而不创建该特定类的实例,则必须将该方法声明为静态方法静态和如何我可以从mainclass()调用width()和height(),感谢againThanks Ernest Friedman Hill解决了我的问题我使该方法成为静态的,如何我可以从mainclass()调用width()和height(),感谢againThanks Thilo解决了我的问题我使该方法成为静态的,以及如何从mainclass()调用width()和height()再次感谢Hanks Thilo解决了我的问题,我使该方法成为静态的,并且我可以从mainclass()调用width()和height()。再次感谢Hanks Tim Pote。。这就解决了我的问题,我让这个方法是静态的,我怎样才能从mainclass()调用width()和height(),谢谢大家,能得到公认的答案吗?也许是谁先去的?(@Akash在本例中)。谢谢Tim Pote。。这就解决了我的问题,我让这个方法是静态的,我怎样才能从mainclass()调用width()和height(),谢谢大家,能得到公认的答案吗?也许是谁先去的?(@Akash在本例中)。感谢Akash Yadav解决了我的问题,我将该方法设置为静态,以及如何从mainclass()调用width()和height()。再次感谢Hanks Akash Yadav解决了我的问题,我将该方法设置为静态,以及如何从mainclass()调用width()和height()再次感谢为什么不创建
子类
的实例?为什么不创建
子类
的实例?
public class mainclass
{
public void methodOne()
{
subclass obj = new subclass();
System.out.println("Height and Width" + obj.width()+" "+obj.height());
}
}
public class subclass
{
public int width()
{
return (int)windowWidth;
}

public int height()
{
return (int)windowHeight;
}
}