qual è la differenza tra metodo statico protetto e metodo protetto? [chiuso]

0

Qual è la differenza tra il metodo protected static e il metodo protected ? Ad esempio demo e demo2 in Data2 rispettivamente

Data.java:

package pack1;

import pack2.*;

public class Data extends Data2 {

    public static void main(String args[]){
        System.out.println("From main class");
        Data d=new Data();
        d.first(); 
    }

    void first(){
        Data2 d2=new Data2();

        d2.demo();
        d2.demo2();
    }
}

Data2.java:

package pack2;

public class Data2 {
    protected static void demo(){
        System.out.println("In method demo");
    }

    protected void demo2(){
        System.out.println("In method demo2");
    }
}
    
posta akkif444 17.02.2014 - 11:00
fonte

1 risposta

5

Un metodo statico è un metodo che non appartiene a una particolare istanza di una classe. Appartiene alla classe stessa.

Potresti scrivere Demo2.demo() per chiamare il metodo statico direttamente sulla classe senza creare un'istanza. Ma non puoi chiamare Demo2.demo2() perché demo2 non è statico e quindi può essere richiamato solo su un'istanza creata con la parola chiave new .

Poiché un metodo statico non è (necessariamente) legato a un'istanza specifica di una classe, può solo accedere a variabili statiche (il valore delle variabili statiche è condiviso tra tutte le istanze di una classe mentre il valore di una variabile non statica è diverso per ogni istanza creata con la parola chiave new ).

Potresti chiedere a "qual è il motivo di un metodo protetto statico, considerando che è impossibile chiamarlo da qualsiasi luogo tranne che da un'istanza di quella classe?" . Di solito non c'è molto motivo per dichiarare un metodo privato o protetto come statico. I metodi statici sono generalmente pubblici. Ma quando il comportamento di un metodo non influenza o è influenzato dallo stato dell'istanza corrente, dichiararlo statico può essere un modo per documentare questo fatto.

    
risposta data 17.02.2014 - 11:15
fonte

Leggi altre domande sui tag