Інстансний та статичний контроль виконання | Частина-13 | Основи Java: ООП (Об’єктно-орієнтоване програмування)

pic

Інстанс та статичний контроль виконання | Частина-13 | Core Java: ООП (Об'єктно-орієнтоване програмування) | автор Sahil Hamirani

Приклад:

class Test   
{  

 {  
 print("Перший блок інстансу");  
 }  

 static  
 {  
 print("Перший статичний блок");  
 }  

 Test()  
 {  
 print("Конструктор");  
 }  

 public static void main(String[] args)  
 {  
 Test t1 = new Test();  
 print("Головний метод");  
 Test t2 = new Test();  
 }  

 static  
 {  
 print("Другий статичний блок");  
 }  

 {  
 print("Другий блок інстансу");  
 }  
}

Вивід:

pic

Вивід інстансу та статичного контролю виконання | автор Sahil Hamirani

Приклад 2:

public class Initialization  
{  
 private static String m1(String msg)  
 {  
 print(msg);  
 return msg;  
 }  

 public Initialization()  
 {  
 m = m1("1");  
 }  

 {  
 m = m1("2");  
 }  

 String m = m1("3");  

 public static void main(String[] args)  
 {  
 Object o = new Initialization();  
 }  

}

Вивід 2:

2  
3  
1

Приклад 3:

public class Initialization2  
{  
 private static String m1()  
 {  
 print(msg);  
 return msg;  
 }  

 static String m = m1("1");  

 {  
 m = m1("2");  
 }  

 static  
 {  
 m = m1("3");  
 }  

 public static void main()  
 {  
 Object o = new Initialization2();  
 }  

}

Вивід 3:

1  
3  
2
  • У статичній області ми не можемо безпосередньо отримати доступ до членів інстансу, оскільки під час виконання статичної області JVM може не ідентифікувати члени інстансу.

Приклад:

class Test  
{  
 int x = 10;  

 public static void main()  
 {  
 1.   
 print(x); // Помилка під час компіляції: Нестатична змінна x не може бути  
 // використана у статичному контексті.  

 2.  
 Test t = new Test();  
 print(t.x); // 10  
 }  

}

Скільки способів існує для створення об'єкта в Java або як можна отримати об'єкт в Java:

  1. Використовуючи оператор new:

Test t = new Test();

  1. Використовуючи метод newInstance():

Test t = (Test) Class.forName(“Test”).newInstance();

  1. Використовуючи фабричний метод:

Runtime r = new Runtime.getRuntime(); DateFormat df = DateFormat.getInstance();

  1. Використовуючи метод clone():

Test t1 = new Test(); Test t2 = (Test) t1.clone();

  1. Використовуючи десеріалізацію:

FileInputStream fis = new FileInputStream("abc.serv"); ObjectInputStream ois = ObjectInputStream(fis); Dog d = (Dog)ois.readObject();

Перекладено з: Instance & Static Control Flow | Part-13 | Core Java: OOPs(Object Oriented Programming)

Leave a Reply

Your email address will not be published. Required fields are marked *