我正在做作业,遇到了一些错误。在一个类中,我有此方法:
public class Class1{
public static boolean winningRecord(){
final int WINNING_RECORD;
return Class2.getPoints() > WINNING_RECORD;
}
}
class Class2{
int wins = 0;
public int getPoints(){
return wins; //More to it but to keep it simple I'll leave that out
}
}
现在,我收到错误消息“无法从静态上下文中引用非静态方法…”,因此我将getPoints()设置为静态方法,并将变量也设置为静态,并且它可以正常工作。但是在另一种打印对象的方法中,它不起作用(我相信是由于static关键字)。
所以我的问题是,有没有一种方法可以在不创建第二个Class实例的情况下调用方法?这是我所拥有的一般构想代码,它应该使您对发生的事情有所了解,否则,我将添加更多内容。
Java中的一个关键概念是实例化的想法。类定义具有针对一种对象的所有规则。对象的每个实例将遵循相同的规则。例如,如果我定义
class Ball {
public void bounce() {
// lots of code here
}
}
然后系统具有称为Ball
s的代码,可以bounce
如果我要两个球…
public class Main {
public static void main(String args[]) {
Ball beachBall = new Ball();
Ball soccerBall = new Ball();
然后我就可以弹跳它们
beachBall.bounce();
beachBall.bounce();
soccerBall.bounce();
beachBall.bounce();
但我不能说
Ball.bounce();
因为这使我的系统中出现“哪个球?”这个问题。
static
方法和变量与特定实例无关。
例如:
class Werewolf {
static boolean fullMoon = false;
static void setFullMoon(boolean isVisible) {
fullMoon = isVisible;
// code code code
}
void eatPerson(Person p) {
// code code code
}
}
静态方法适用于所有狼人,因此在类上被调用:
Werewolf.fullMoon(true);
非静态(实例)方法应用于特定的狼人,因此在实例上被调用。
jeff.eatPerson(chuck);
杰夫是狼人。查克就是他吃的人。尝试忽略残酷的评论。我们都从某个地方开始。
现在我得到错误“non-static method conly be referenced from a static context...”,所以我将getPoints()设置为静态方法,同时将变量设置为静态,这样就可以工作了。但是在另一个打印对象的方法中,它就不起作用了(我相信这是因为static关键字的缘故)。 那么我的问题是,在所有这些之后,有没有一种方法可以调用一个方法,而不创建第二个类
我需要从AsyncTask调用一个非静态方法 必须在onPostExecute中调用此方法 我用过: 编辑:我尝试过: 投掷:
我有一个类,其中有一些静态方法和一些非静态方法,所以当我试图从静态方法访问非静态方法时,我会遇到一个著名的错误。每当我搜索这个论坛,我得到的解决方案,当有两个类,从一个你试图达到另一个。我的问题是,如果它们在同一个类中,如何从静态方法调用非静态方法? 我试着用 但是我的方法包含发送Intent和finish(),所以如果我创建的对象不是finish,就不起作用。
我最近对 PHP 5.4 进行了更新,但收到有关静态和非静态代码的错误。 这是错误: 这是第371行: 我希望有人能帮忙。
这个问题相当复杂,我不知道以前是否有人问过,因为我不知道如何在搜索框中表达这个问题。 下面是代码: 静态成员将在更多静态方法中再次使用,但我需要首先将其时区设置为“UTC”。有没有方法调用<code>。setTimeZone(“UTC”)一劳永逸?或者我必须调用<code>。setTimeZone(“UTC”)在每个静态方法中?
我正在使用存储库模式并尝试建立模型之间的关系。当我尝试运行存储()方法(在控制器中),该方法试图使用用户()方法(与方模型建立关系)时,我收到以下错误消息: 非静态方法不应该静态调用::user(),假设$this来自不兼容的上下文 我不明白为什么在尝试运行user()relationship方法时会出现此错误,但所有其他方法(包括$this- 以下是相关代码: