![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Урок 28: Модификаторы доступа public, private.Содержание книги
Поиск на нашем сайте
public - доступен в рамках / пределах всего Проекта. В Java файле должен быть хотя бы один public класс. private - доступен в рамках / пределах всего Класса в котором protected переменная / метод задекларированны. default - доступен в рамках / пределах всего Пакета. default еще называют модификатором доступа в пакете. Модификатор доступа по умолчанию. default - не пишем перед переменной. Он устанавливается автоматически, если вообще не указать модификатор. protected - доступен в рамках / пределах всего Пакета. А также в классах - наследниках (extends) материнского класса в котором protected переменная / метод задекларированны. */ public class Test { public int id1; // public private int id2; // private int id3; // default protected int id4; // protected public static void main(String[] args) { } } public class Xxx2{ }
Урок 29: Полиморфизм. https://www.youtube.com/watch?v=c8eGIPF-o3Q&index=30&list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak
В языках программирования и теории типов полиморфизмом называется способность функции обрабатывать данные разных типов.
public class Test { public static void main(String[] args) { Animal animal = new Animal (); Dog dog = new Dog (); animal.eat ();
public class Animal { public void eat(){ System. out. println ("Animal is eating..."); } }
public class Dog extends Animal{ }
Вывод в консоль:
Animal is eating... Animal is eating...
public class Test { public static void main(String[] args) { Animal animal = new Dog (); animal.eat (); /* !!! не можем обратиться в через animal к методу bark как - animal.bark(); не все животные лают!!! */ Dog dog = new Dog (); dog.eat (); dog.bark (); }
public class Animal { public void eat(){ System. out. println ("Animal is eating..."); } }
public class Dog extends Animal{ public void bark(){ System. out. println ("Dog is barking..."); } }
Вывод в консоль:
Animal is eating... Animal is eating... Dog is barking...
Позднее связывание. Переопределяем public void eat(){} в классе Dog
Обект такого типа и реализации Animal animal = new Dog ();выведет на экран переопределенный в потомке метод родителя eat таким образом: "Dog is eating...".Это и есть "Позднее связывание". public class Test { public static void main(String[] args) { Animal animal = new Dog (); animal.eat (); } }
public class Animal { public void eat(){ System. out. println ("Animal is eating..."); } }
public class Dog extends Animal{ /* Переопределяем public void eat(){} в классе Dog */ @Override public void eat() { System. out. println ("Dog is eating..."); } public void bark(){
Вывод в консоль:
Dog is eating...
Возможность передавать в метод разные типы, если у них один и тот же родитель.
public class Test { public static void main(String[] args) { Animal animal = new Animal (); Dog dog = new Dog (); Cat cat = new Cat (); System. out. print ("Объект animal: "); }
public class Animal { public void eat(){ System. out. println ("Animal is eating..."); } }
public class Dog extends Animal{ /* Переопределяем public void eat(){} в классе Dog */ @Override public void eat() { System. out. println ("Dog is eating..."); } public void bark(){
public class Cat extends Animal{ }
Вывод в консоль:
Объект animal: Animal is eating... Объект dog: Dog is eating... Объект cat: Animal is eating...
|
|||||||||||||||||||
Последнее изменение этой страницы: 2020-11-11; просмотров: 173; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.81.20 (0.009 с.) |