2013-06-10 21 views
8

Sto ancora imparando i metodi in Java e mi chiedevo in che modo esattamente si potrebbe usare un metodo di istanza. Stavo pensando a qualcosa di simile:Esempio di un metodo di istanza? (Java)

public void example(String random) { 
} 

Tuttavia, non sono sicuro se questo è in realtà un metodo di istanza o qualche altro tipo di metodo. Qualcuno potrebbe aiutarmi?

risposta

16

Se non si tratta di un metodo statico, si tratta di un metodo di istanza. È l'uno o l'altro. Quindi sì, il tuo metodo,

public void example(String random) { 
    // this doesn't appear to do anything 
} 

è un esempio di un metodo di istanza.

Per quanto riguarda

e si chiedeva come esattamente si potrebbe utilizzare un metodo di istanza

Si potrebbe creare un'istanza della classe, un oggetto, e quindi chiamare il metodo di istanza per l'istanza. Per esempio,

public class Foo { 
    public void bar() { 
     System.out.println("I'm an instance method"); 
    } 
} 

che potrebbe essere utilizzato come:

Foo foo = new Foo(); // create an instance 
foo.bar(); // call method on it 
+0

Molto utile, grazie! Stabilirò la tua risposta come la mia accettata. – user2446065

+0

Solo una domanda sul tuo codice di esempio ... "bar" significa qualcosa? – user2446065

+0

@ user2446065: no, bar è un nome assurdità standard, uguale a Foo. –

1

* Un metodo istanza * è un metodo è associato con gli oggetti, ogni metodo istanza viene chiamato con un argomento nascosto che si riferisce alla oggetto attuale. ad esempio su un metodo di istanza:

public void myMethod { 
     // to do when call code 
} 
2
class InstanceMethod 
    { 
    public static void main(String [] args){ 
     InstanceMethod obj = new InstanceMethod();// because that method we wrote is instance we will write an object to call it 
      System.out.println(obj.sum(3,2)); 
    } 
    int f; 
    public double sum(int x,int y){// this method is instance method because we dont write static 

      f = x+y; 
      return f; 
     } 
    } 
0

grado nome variabile Un oggetto ha attributi che sono implementate come variabili di istanza e realizzate con essa tutta la sua durata. Le variabili di istanza esistono prima che i metodi vengano richiamati su un oggetto, mentre i metodi sono in esecuzione e dopo che i metodi hanno completato l'esecuzione. Una classe contiene normalmente uno o più metodi che manipolano le variabili di istanza che appartengono a determinati oggetti della classe. Le variabili di istanza sono dichiarate all'interno di una dichiarazione di classe ma all'esterno dei corpi delle dichiarazioni del metodo della classe. Ogni oggetto (istanza) della classe ha una propria copia di ciascuna delle variabili di istanza della classe.

0

Il metodo di istanza indica che l'oggetto della classe deve essere creato per accedere al metodo. D'altra parte, per i metodi statici, essendo una proprietà di Class e non quella del suo oggetto/istanza, è accessibile senza creare alcuna istanza della classe. Ma ricorda che i metodi statici possono accedere solo a variabili statiche, dove il metodo di istanza può accedere alle variabili di istanza della tua classe. I metodi statici e le variabili statiche sono utili per la gestione della memoria in quanto non richiede la dichiarazione di oggetti che altrimenti occuperebbero memoria.

Esempio di metodo di istanza e variabili:

public class Example { 
    int a = 10; // instance variable 
    private static int b = 10; // static variable (belongs to the class) 

    public void instanceMethod(){ 
     a =a + 10; 
    } 

    public static void staticMethod(){ 
     b = b + 10; 
    } 
} 

void main(){ 

    Example exmp = new Example(); 
    exmp.instanceMethod(); // right 
    exmp.staticMethod(); // wrong..error.. 

    // from here static variable and method cant be accessed. 

} 
Problemi correlati