non static method scale(int,int) cannot be referenced from a static context

Status
Nicht offen für weitere Antworten.

Gamma

Mitglied
Hallo,
Ich bekomme folgende Fehlermeldung:non static method scale(int,int) cannot be referenced from a static context wenn ich das hier Compiliere:
Java:
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
import java.awt.*;
import java.awt.event.*;

/**
 * Write a description of class Orange here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Orange extends Spinne

{

   public void Orange(){
      
       if(z%5 == 0){  
        for(int a = 255;a>=0;a--){
 GreenfootImage.scale(a,200);
       }
        
     Random r = new Random();
     int b = Math.abs(r.nextInt()) % 10;
     Random s = new Random();
     int c = Math.abs(s.nextInt()) % 10;
              
       
         setLocation(b,c);
        z = z+1;
        }
    
        }
     /**
     * Act - do whatever the Orange wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */

    public void act() 
    {
   Orange();

}

}

Mit
Java:
Orange o = new Orange();
//Und dann
o.GreenfootImage.scale(a,200)
geht es auch nicht, dann sagt er cannot find variable GreenfootImage

MfG Gamma
 

Noctarius

Top Contributor
Du kannst nicht auf eine Instanzmethode zugreifen ohne eine Instanz (in diesem Fall von GreenfootImage) zu erstellen.

Java:
GreenfootImage gfi = new GreenfootImage();
gfi.scale(...);

Alternativ könntest du die Methode scale mit [c]static[/c] deklarieren um sie statisch erreichbar zu machen (Klassenmethode).
 
S

SlaterB

Gast
public void Orange() {

ist übrigens kein Konstruktor, sondern eine Methode die wie die Klasse heißt,
das ist strengstens zu vermeiden wie generell keine Methoden groß geschrieben werden sollten,
während Klassen und damit Konstruktoren immer groß anfangen (sollten)
 

Noctarius

Top Contributor
public void Orange() {

ist übrigens kein Konstruktor, sondern eine Methode die wie die Klasse heißt,
das ist strengstens zu vermeiden wie generell keine Methoden groß geschrieben werden sollten,
während Klassen und damit Konstruktoren immer groß anfangen (sollten)

Stimmt hatte ich gar nicht gesehen :D
 

Gamma

Mitglied
Danke ihr beiden.
Aber könntest du das nochmal genauer erklären mit diesem statisch machen?
Danke

Edit:die nächste Fehlermeldung lautet:GreenfootImage() has private acces to greenfoot.GreenfootImage
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
[c]public static void scale(int arg0, int arg1) { ... }[/c]

Dabei darf die Methode natürlich keine Abhängigkeiten an Instanzmethoden oder Instanzmember besitzen.
 

Noctarius

Top Contributor
Das was momentan in der Methode drin steht. Du sollst die existierende Methode statisch machen.
 

Gamma

Mitglied
jetzt versteh ich gar nichts mehr ???:L
das ist doch dann genau das selbe problem mit static und non static
public static ist doch statisch und scale nicht.
 
S

SlaterB

Gast
poste doch erstmal die Klasse GreenfootImage,
erbt Orange zufällig über Spinne von GreenfootImage?
 
S

SlaterB

Gast
ist GreenfootImage also eine vorgegebene Klasse, die man sowieso nicht ändern kann/ darf/ sollte?
das wäre doch eine wichtige Info oder?

wenn Orange von GreenfootImage erbt,
dann kannst du ganz normal scale() aufrufen,

statt
GreenfootImage.scale(a,200);
im ersten Post Zeile 20 z.B.
scale(a,200);
oder meinetwegen
this.scale(a,200);
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
dann zeige bitte die Klasse Spinne, ob da wirklich geerbt wird,

oder versuche eine Codezeile
GreenfootImage gfi = this;
kurz davor, klappt dieser cast?
wenn der Compiler da meckert, dann ist Orange wohl doch ein GreenfootImage


bzw. wenn du ganz woanders bist, nämlich bei

> Orange o = new Orange();
> //Und dann
> o.GreenfootImage.scale(a,200)

da muss es natürlich
o.scale(a,200)
lauten,

poste am besten immer sehr ausführliche Codes, idealerweise in sehr kurzen Testklassen,
Java:
public class Orange extends Spinne {
  public Orange {
    this.scale(4,5);
  } 
}
reicht völlig für den aktuellen Fehler, ohne Schleifen und tausend andere Dinge
 
Zuletzt bearbeitet von einem Moderator:

Gamma

Mitglied
Er meckert:
incompatible types - found orange but exepted greenfoot.GreenfootImage
bei GreenfootImage gfi = this;
 
Zuletzt bearbeitet:
S

SlaterB

Gast
also keine Vererbung vorhanden,
zurück zum Anfang: scale() kann man nur an einem GreenfootImage-Objekt aufrufen,
solange du keins hast geht erstmal gar nix (siehe erste Antwort 12:17)
 
Zuletzt bearbeitet von einem Moderator:

Gamma

Mitglied
das ist aber ein Image Objekt zwar spinne untergeordnet aber mit Bild. Was soll es denn sonst sein?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
V the static method should be accessed is a static way Java Basics - Anfänger-Themen 6
N Erste Schritte "non-static method" oder "XYZ can not be resolved" Java Basics - Anfänger-Themen 21
M Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 10
W Compiler-Fehler "non-static method cannot be referenced"-Problem Java Basics - Anfänger-Themen 6
E non-static method und static context Java Basics - Anfänger-Themen 15
M Methoden "Non-static method xy cannot be referenced from a static context" Java Basics - Anfänger-Themen 20
H non-static method cannot be referenced from a static context Java Basics - Anfänger-Themen 2
L Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 6
M Problem mit Static Method Java Basics - Anfänger-Themen 8
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 3
Q non-static method blub cannot be referenced from a static context Java Basics - Anfänger-Themen 6
A OOP Fehler non-static method can not be[...] Java Basics - Anfänger-Themen 2
N Reference to non-static method Java Basics - Anfänger-Themen 8
J non static method cannot be referenced from static context Java Basics - Anfänger-Themen 7
C Fehler: non-static method Java Basics - Anfänger-Themen 5
R Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 5
R non-static method execute Java Basics - Anfänger-Themen 3
V Non Static Method. Java Basics - Anfänger-Themen 2
G Problem (oder Verständnisporblem) bei einer static method Java Basics - Anfänger-Themen 9
frau-u Altes Problem: non-static method cannot be reference Java Basics - Anfänger-Themen 7
A The method getClass() from the type saveLog is not static Java Basics - Anfänger-Themen 2
O Welcher Object-Lock-Pool bei static Variablen? Java Basics - Anfänger-Themen 3
A Instance methods should not write to "static" fields Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
R UML-Bild (Erkennung ob static o. nicht) Java Basics - Anfänger-Themen 18
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
B Static Attribute in einer Klasse, wie geht das? :O Java Basics - Anfänger-Themen 19
NaZuRe Geld(Wert) von der public static void main in die public static void Blackjack Java Basics - Anfänger-Themen 2
H Static Java Basics - Anfänger-Themen 5
K Ausgaben auf der Konsole (static Varible) Java Basics - Anfänger-Themen 9
S public static boolean Java Basics - Anfänger-Themen 4
Vamecruft Compiler-Fehler public static void zu static String ändern Java Basics - Anfänger-Themen 2
L non-static Fehler Java Basics - Anfänger-Themen 16
S Klassenmethode ohne static Java Basics - Anfänger-Themen 2
M (Sehr großes Problem) Listen als static in anderen Klassen verwendet Java Basics - Anfänger-Themen 12
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
D Methoden Scannervariablen in static Methoden Java Basics - Anfänger-Themen 5
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
NormanPatrickBenner static non-static Java Basics - Anfänger-Themen 82
B Email versenden, muss Methode static sein? Java Basics - Anfänger-Themen 7
R static in der Methode Java Basics - Anfänger-Themen 2
E Problem mit static Methode Java Basics - Anfänger-Themen 4
H Vererbung Static Scanner Objekt verwenden - von StdIn in einer importierten Klasse lesen Java Basics - Anfänger-Themen 10
I Abstrakte Klasse - static Attribute deklarieren Java Basics - Anfänger-Themen 14
C Methoden Unterschied zwichen public int, public static int und public static void Java Basics - Anfänger-Themen 2
J Frage zu: public static void main (String[]args) Java Basics - Anfänger-Themen 1
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
D Das leidige Thema static.... Java Basics - Anfänger-Themen 15
Aprendiendo Interpreter-Fehler "non-static variable this cannot be referenced from a static context" Java Basics - Anfänger-Themen 2
T Problem mit static Java Basics - Anfänger-Themen 6
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
S Vererbung Zugriff auf Methode funktioniert nicht (static/non-static) Java Basics - Anfänger-Themen 3
snipesss Was kann 'static'? Java Basics - Anfänger-Themen 4
H Variablen error: non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 4
M public static int in ActionListener Java Basics - Anfänger-Themen 6
J static verschachtelte Klassen und innere Klassen Java Basics - Anfänger-Themen 1
H Nicht Static Funktion ohne Objekt aufrufen? Java Basics - Anfänger-Themen 6
E Objekte und static Java Basics - Anfänger-Themen 2
K Methoden Methoden in Methoden -> static oder nicht? Java Basics - Anfänger-Themen 7
D Erklärung static boolean Java Basics - Anfänger-Themen 6
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
U Erste Schritte cannot be referenced from a static context Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
J Java: static bei Vererbung Java Basics - Anfänger-Themen 5
O Zu viel static im Projekt Java Basics - Anfänger-Themen 9
F Static final Klasse Java Basics - Anfänger-Themen 0
N static und Objekt kombiniert?!? Java Basics - Anfänger-Themen 3
O Wann nutzt man static? Java Basics - Anfänger-Themen 19
B Klassen Eigene "non static" Klasse in Main verwenden! Java Basics - Anfänger-Themen 12
D neue public static class variablen in array speichern? Java Basics - Anfänger-Themen 6
A Static variablen --- Anwendungsbereich Java Basics - Anfänger-Themen 11
B Erste Schritte Wie komme ich aus Static raus?!! Java Basics - Anfänger-Themen 4
V Static Methods Java Basics - Anfänger-Themen 5
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
3 OOP static class in einer Klasse Java Basics - Anfänger-Themen 6
B static individuell "vererben"? Java Basics - Anfänger-Themen 8
B Erkennen, wann static oder nicht? Java Basics - Anfänger-Themen 7
T Static Fehler Java Basics - Anfänger-Themen 1
R public static void Rückgabe Java Basics - Anfänger-Themen 5
P Compiler-Fehler public static void main, Grundloses Problem Java Basics - Anfänger-Themen 4
A Cannot make a static reference to the non-static field Java Basics - Anfänger-Themen 6
W Variablen Automatisch static? Java Basics - Anfänger-Themen 3
O Warum muss ich static? Java Basics - Anfänger-Themen 6
O Static Java Basics - Anfänger-Themen 15
B non static interface Methode Java Basics - Anfänger-Themen 16
J KeyListener,MouseListener,MouseMotionListener und static Java Basics - Anfänger-Themen 7
S Static void Methode Java Basics - Anfänger-Themen 12
Q Unterschied zwischen static und keinem Modifier Java Basics - Anfänger-Themen 15
O Main-Methode static modifier umgehen Java Basics - Anfänger-Themen 10
J Variablen non-static variable Java Basics - Anfänger-Themen 2
P Erste Schritte public oder static oder wie? Java Basics - Anfänger-Themen 7
J static - Methoden Java Basics - Anfänger-Themen 22
X Erste Schritte Methode ohne Static Java Basics - Anfänger-Themen 4
B Classpath static block - Verwirrung Java Basics - Anfänger-Themen 2
S Methoden Warum ist sleep static? Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben