Your SlideShare is downloading. ×
Java. Classes.
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Java. Classes.

1,878
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,878
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Transcript

    • 1. Язык Java Классы и объекты
    • 2. Пример класса
      • class TestClass{ private int field1; private String field2; public void method1(){ System.out.println(«Hello, world»); } }
      • class ChildClass extends ParentClass{ }
    • 3. Декларация класса
      • Декларация класса
        • class ParentClass{}
        • class ChildClass extends ParentClass{}
        • class ParentClass implements IFace1{}
        • class ChildClass extends ParentClass implements IFace2{}
      • Декларация полей класса
      • Декларация метода класса
      • Модификаторы доступа
        • public
        • private
        • protected
    • 4. Перегрузка методов
      • Перегрузка методов: overloading
      • Пример:
        • void method1();
        • void method1(int i);
        • void method1(string s);
        • void method1(int i, string s);
      • Конструктор
        • public ClassName()
      • Перегрузка конструкторов
        • public ClassName()
        • public ClassName(int param)
    • 5. Передача данных в методы
      • public void method(int i, String s){ System.out.println(«i: »+i+«; s: »+s); }
      • Переменное число параметров:
        • void method(Object... params){ System.out.println(«число параметров: » +params.length); System.out.println(«Значение: »+params[i]); }
      • Сокрытие полей
      • Передача параметров по значению
    • 6. Создание объектов
      • Декларация объекта
        • Type objectName;
      • Инстанциирование объекта
        • objectName = new
      • Инициализация
        • Type objectName = new Type()
      • Доступ к полям объекта
      • Доступ к методам объекта
    • 7. Возврат данных из метода
      • Оператор return
      • return value;
      • Возвращение класса или интерфейса:
        • public ClassName method(){ ClassName cn = new ClassName(); return cn; }
    • 8. this
      • this – ссылка на текущий объект
      • При сокрытии полей:
        • this.shadowField
      • Использование this при вызове конструкторов класса:
        • public class ClassName { private int x, y;
        • public ClassName() { this(0, 0); }
        • public ClassName(int x, int y) {
        • this.x = x;
        • this.y = y;
        • }
        • }
    • 9. Модификаторы доступа
      • Для классов и интерфейсов:
        • public, package-private (при отсутствии модификатора)
      • Для полей и методов:
        • public, private, protected, package-private (при отсутствии модификатора)
    • 10. Члены класса/экземпляра
      • Переменная класса - спецификатор static
        • public static int i=10;
      • Метод класса имеет спецификатор static
        • public static void method();
      • Вызов метода класса:
        • ClassName.method();
      • Член класса – общий для всех экземпляров класса
      • Константа
        • static final double PI = 3.1415
    • 11. Переменные
      • Переменные класса
        • public static int i=0;
        • Переменная имеет одинаковое значение для всех экземпляров класса
      • Переменная экземпляра
        • private int i=0;
        • Для каждого экземпляра класса данная переменная имеет свое значение
    • 12. Переменные
      • Переменная класса
        • Обращение к переменной класса производится по имени класса
        • ClassName.field;
      • Переменная экземпляра
        • Обращение к переменной экземпляра производится через создаваемый экземпляр класса
        • ClassName cn = new ClassName(); cn.field=10;
    • 13. Методы
      • Обращение к методу класса производится по имени класса:
        • public static void method(){}
        • ClassName.method()
      • Обращение к методу экземпляра производится через создаваемый экземпляр:
        • public void method(){}
        • ClassName cn = new ClassName(); cn.method()
    • 14. Обращение методов к полям
      • Статические методы:
        • public static int i; public int j; public static void method(){ i=10; ClassName cn = new ClassName(); cn.j=20; }
      • Методы экземпляра:
        • public void method(){ i=10; j=20; }
    • 15. Инициализация полей
      • public static int i=10;
      • Инициализация статических переменных через статические инициализационные блоки: static{ i=10; }
      • Инициализация статических переменных посредством статических методов: public static int i=method(); public static int method(){}
    • 16. Инициализация полей
      • public int i=0;
      • Инициализация полей экземпляра посредством инициализационных полей: { i=20; }
      • Инициализация полей экземпляра final методом: public int i=method(); public final int method(){}
      • Инициализация в конструкторах
    • 17. Вложенные классы
      • Nested — вложенные классы
      • class Outer{ public static class Inner{ } }
      • Outer.Inner cl = new Outer.Inner();
      • Вложенный класс взаимодействует со своим внешним классом как обычный внешний класс
    • 18. Вложенные классы
      • Inner класс — не является статическим, связан с экземпляром внешнего класса. class Outer{ public class Inner{ } } Outer out = new Outer(); Outer.Inner in = out.new Inner();
      • Имеет прямой доступ к членам внешнего класса
    • 19. Перечисления enum
      • public enum ClassName
      • Конструктор не имеет модификатора доступа:
        • ClassName()
      • Может иметь поля и методы
      • Для получения коллекции значений, хранящихся в enum используется метод values() for(EnumTest e : EnumTest.values())
    • 20. Конец Вопросы