Successfully reported this slideshow.
Your SlideShare is downloading. ×

Урок 10. Ключевое слово static в языке Java

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 15 Ad

Урок 10. Ключевое слово static в языке Java

Download to read offline

Урок 10. Ключевое слово static в языке Java. Статические переменные и методы. Статический блок инициализации.
Java static import. Лекции, задания, видео, тесты и вопросы на: https://www.examclouds.com/ru/java/java-core-russian/static-keyword.
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Урок 10. Ключевое слово static в языке Java. Статические переменные и методы. Статический блок инициализации.
Java static import. Лекции, задания, видео, тесты и вопросы на: https://www.examclouds.com/ru/java/java-core-russian/static-keyword.
Подписывайтесь на страницу:
https://www.facebook.com/Examclouds
Подписывайтесь на канал
https://www.youtube.com/c/tatyanamilkina

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Урок 10. Ключевое слово static в языке Java (20)

Advertisement

Урок 10. Ключевое слово static в языке Java

  1. 1. Урок 10 Ключевое слово static в языке Java 1. Статические переменные 2. Статические методы 3. Статический блок инициализации 4. Java static import www.examclouds.com
  2. 2. Ключевое слово static Ключевое слово static используется для объявления: • методов • переменных • статических блоков www.examclouds.com
  3. 3. Разница между статическими и обычными членами класса • Обращение к обычному члену класса должно осуществляться только в сочетании с объектом его класса • Когда член класса объявлен как static (статический), он доступен и без ссылки на какой-нибудь объект www.examclouds.com
  4. 4. Статические переменные • Переменные экземпляра, объявленные как static, по существу, являются глобальными • При объявлении объектов, копии статических переменных не создаются • Создается одна статическая переменная на весь класс • Статическая переменная создается при загрузке класса www.examclouds.com
  5. 5. Использование статических переменных public class StaticVars { int a; static int b; public static void main(String[] args) { StaticVars staticVars = new StaticVars(); System.out.println(staticVars.a); System.out.println(b); } } www.examclouds.com
  6. 6. Использование статических переменных public class StaticVarsDemo { public static void main(String[] args) { StaticVars staticVars1 = new StaticVars(); StaticVars staticVars2 = new StaticVars(); System.out.println(StaticVars.b); System.out.println(staticVars1.b); staticVars1.b = 3; staticVars2.b = 4; System.out.println(staticVars1.b); System.out.println(staticVars2.b); } } www.examclouds.com
  7. 7. Подсчет количества созданных объектов public class Ball { static int count ; String color = "none"; public Ball(String color) { this.color = color; count++; } } public class BallDemo { public static void main(String[] args) { Ball ball1 = new Ball("красный"); Ball ball2 = new Ball("голубой"); System.out.println("Количество созданных объектов: " + Ball.count); } } www.examclouds.com
  8. 8. Статические методы Статические методы можно вызывать без ссылки на объект На методы, объявленные как static, накладывается следующие ограничения: • Они могут непосредственно вызывать только другие статические методы • Им непосредственно доступны только статические переменные • Они не могут делать ссылки типа this или super www.examclouds.com
  9. 9. Пример статических методов public class StaticMethodClass { static int staticVar = 3; int nonStaticVar; public void nonStaticMethod() { System.out.println("Нестатический метод"); } static void staticMethod(int localVar) { System.out.println("localVar = " + localVar); System.out.println("staticVar = " + staticVar); //Нельзя обратиться к нестатической переменной из статического метода //System.out.println("nonStaticVar = " + nonStaticVar); } public static void main(String[] args) { staticMethod(42); //Нельзя обратиться к нестатическому методу без указания объекта //nonStaticMethod(); StaticMethodClass useStatic = new StaticMethodClass(); useStatic.nonStaticMethod(); System.out.println("nonStaticVar = " + useStatic.nonStaticVar); useStatic.staticMethod(67); } } www.examclouds.com
  10. 10. Вызов статического метода за пределами его класса public class StaticMethodDemo { public static void main(String[] args) { StaticMethodClass.staticMethod(42); } } www.examclouds.com
  11. 11. Статический блок Если для инициализации статических переменных требуется произвести вычисления, то для этой цели достаточно объявить статический блок, который будет выполняться только один раз при первой загрузке класса. www.examclouds.com
  12. 12. Использование статического блока import java.util.Scanner; public class StaticBlock { static String a; static { System.out.println("Статический блок инициализирован."); Scanner scanner = new Scanner(System.in); a = scanner.nextLine(); } public static void main(String[] args) { System.out.println("a = " + a); } } www.examclouds.com
  13. 13. Задание Реализовать подсчет количества созданных телефонов с помощью статической переменной. www.examclouds.com
  14. 14. Статический импорт import static oop.StaticMethodClass.staticMethod; import static oop.StaticMethodClass.staticVar; public class StaticImport { public static void main(String[] args) { staticMethod(42); System.out.println(staticVar); } } public class StaticMethodDemo { public static void main(String[] args) { StaticMethodClass.staticMethod(42); System.out.println(StaticMethodClass.staticVar); } } Для того чтобы получить доступ к статическим членам классов, требуются указать ссылку на класс. Конструкция статического импорта позволяет получить прямой доступ к статическим членам без указания имени класса. www.examclouds.com
  15. 15. Лекции, задания, видео, тесты и вопросы на: • https://www.examclouds.com/ru/java/java-core- russian/static-keyword Подписывайтесь на страницу: • https://www.facebook.com/Examclouds • Подписывайтесь на канал https://www.youtube.com/c/tatyanamilkina www.examclouds.com

×