2016-03-03 2 views
-5

Какова область действия статического и мгновенного метода и статическая или переменная экземпляра в java? если они находятся в одном классе или другом классе.область применения некоторых элементов в java

+2

Вклеивание вопросы StackOverflow не собирается дать вам ответы. Вы пробовали что-нибудь самостоятельно или хотите, чтобы мы выполнили всю работу? - С некоторыми примерами, пожалуйста. - № – f1sh

+0

@ f1sh ищет что-то, чего нет, сложнее. ;) –

+0

Я не вставляю это и не благодарю за этот ответ – user3010791

ответ

1

Я хотел бы ответить на ваш вопрос, используя пример. Надеюсь, это даст вам лучшую ясность.

StaticExample.java

public class StaticExample { 

    public static int Static_var= 0 ; 
    public int instance_var = 0 ; 

    public static void changeValStatic(){ 

     Static_var ++; // Accessing static variable from static method. 

     // instance_var++; --> Error because it is not possible to access instance variables in static methods 

     changeVal2Static(); // Calling static method of the same class. 

     // display();  --> Error because it is not possible to access non static (instance) methods in static methods. 
    } 

    public static void changeVal2Static(){ 

     System.out.println("Call to second static method"); 

    } 

    public void changeValInstance(){ 

     Static_var ++; // Access to static variable from instance method 

     instance_var++; // Access to instance variable from instance method 
    } 

    public void display(){ 
     //Printing instance and static variable 
     System.out.println("Instance variable :- " + this.instance_var); 
     System.out.println("Static variable :- " + Static_var); 
    } 
} 

StaticExampleTest.java

public class StaticExampleTest { 
     public static void main(String[] args) { 
      StaticExample se = new StaticExample();// Create an instance of StaticExample class 

      se.changeValInstance(); //call the instance method using "se" instance of StaticExample class 

      //se.changeValStatic(); Not error but Invalid because Static methods are class methods , should be called using class name 

      StaticExample.changeValStatic(); // Valid Call to static method 

      se.display(); //Call to instance method. 
     } 
} 
+0

большое вам спасибо. – user3010791

1

Какова область действия статического и мгновенного метода, а также статическое или мгновенное поле в java?

Область действия static члена Там нет класс он находится.

ничего, что «мгновенный» в компьютере, все требует времени.

Номер экземпляр переменная также имеет область действия класса. Примечание. Вы можете получить доступ только к переменной экземпляра экземпляра.

Статический метод может вызвать только статические элементы в одном классе?

Статический метод может вызывать любой метод статическим или иным образом. Если он вызывает метод экземпляра, он должен предоставить экземпляр , который вызывает этот метод.

Примечание: метод экземпляра может вызвать метод экземпляра только для метода. Разница заключается в следующем: если вы не укажете экземпляр Java, то предположим, что использовать this, но для метода static не используется this.

+0

@ user3010791 Что вы подразумеваете под мгновенной переменной? Вы имеете в виду переменную * instance *? –

+1

извините переменную экземпляра – user3010791

+0

да переменная экземпляра – user3010791

1

Статические методы, переменные и код инициализации имеют эти характеристики.

They’re associated with a class. 
They’re initialized only when a class is loaded. 

Методы экземпляра, переменные члены имеют следующие характеристики.

They’re associated with a particular object. 
They’re created with every object instantiated from the class in which they’re declared. 
Смежные вопросы