Во -первых, давайте кратко поговорим о определении его трех основных функций:
Инкапсуляция: скрывает свойства и сведения о реализации объекта, только выявляет интерфейс внешнему миру и контролирует уровень доступа чтения и изменение свойств в программе. Объединение абстрактных данных и поведения (или функций) для формирования органического целого, то есть органически комбинировать данные с исходным кодом операционных данных для формирования «класса», где данные и функции являются членами класса. Цель инкапсуляции - повысить безопасность и упростить программирование. Пользователи не должны понимать конкретные детали реализации, а просто использовать членов класса через внешний интерфейс, конкретное разрешение на доступ. Основные требования к инкапсуляции: приватизировать все атрибуты, предоставить методы Getter и Setter для каждого атрибута. Если есть конструктор с параметрами, то вы должны написать конструктор без параметров. Во время разработки вам часто приходится проверять уже написанные классы, поэтому иногда вы можете переписать метод ToString, но в этом нет необходимости.
Наследование: включить повторное использование кода через наследство. Все классы в Java получают прямо или косвенно наследуя класс Java.lang.object. Унаследованный класс называется подклассом, а унаследованный класс называется родительским классом. Подклассы не могут наследовать переменные и методы членов в родительском классе, разрешение на доступ к доступу, является частным. Подкласс может переопределить методы и переменные члена родительского класса с тем же именем, что и родительский класс. Тем не менее, Java не поддерживает множественное наследование, то есть способность класса выходить из нескольких суперкладов. В разработке взаимосвязь наследования сводится к минимуму, и это делается для снижения степени связи программы.
Полиморфизм: полиморфизм делится на полиморфизм времени и полиморфизм времени разработки и полиморфизм времени. Например, перегрузка также называется полиморфизмом времени дизайна. Для переоценки или наследственных методов система выполнения Java решает, какой метод вызовать на основе типа экземпляров, которые называют метод, который называется полиморфизмом времени выполнения. Короче говоря, типичными характеристиками объектно-ориентированного дизайна являются наследование, инкапсуляция и полиморфизм, которые также являются ключом к популярности объектно-ориентированных.
Упаковка
Значение прав доступа по умолчанию для атрибута класса в Java не является частным. Если вы хотите скрыть метод этого атрибута, вы можете добавить частный модификатор, чтобы ограничить доступ только к классу.
Для частных атрибутов в классе пара методов (getxxx, setxxx ()) должна быть предоставлена для доступа к частным атрибутам для обеспечения работы и безопасности частных атрибутов.
Инкапсуляция метода, раскрытие раскрытия, скрытое скрытое.
Ява наследство
Наследование - это абстрагировать множество типов вещей с общими характеристиками в один класс.
Наследование в Java должно использовать ключевое слово extends, а средний палец Java позволяет единственное наследование, то есть класс может иметь только один родительский класс.
Конструктор не может быть унаследован .
Переопределить метод Java
Когда в подклассе есть методы, которые возвращают тот же список параметров, что и то же имя, которое можно получить в родительском классе, методы, унаследованные от родительского класса, будут перезаписаны.
Super () Ключевое слово
Super () означает, что когда конструктор подкласса вызывает конструктор родительского класса, Super () может быть только в первом предложении конструктора.
Полиморфизм в Java
Существует два полиморфных механизмах: полиморфизм времени компиляции и полиморфизм времени выполнения
1. Перегрузка метода: перегрузка относится к нескольким методам с одним и тем же именем в одном и том же классе, но эти методы имеют разные параметры. Таким образом, вы можете определить, какой метод вызовать во время компиляции, который представляет собой полиморфизм времени компиляции.
2. Переопределение метода: подклассы могут переопределять методы родительского класса, поэтому один и тот же метод будет иметь разные проявления в родительском классе и подклассах. На языке Java ссылочные переменные базового класса могут указывать не только на объект экземпляра базового класса, но и на объект экземпляра подкласса. Аналогичным образом, эталонные переменные в интерфейсе также могут указывать на объект экземпляра своего класса реализации.
открытый класс A {public String show (d obj) {return ("a и d");} public String show (a obj) {return ("a и a");}} public class b расширяет {public String show (b obj) {return ("b и b");} public String show (obj) {return ("b and a");} public class c extends astends c extends c extends c extends c}}}}}}}}}}}} B {} public class test {public static void main (string [] args) {a a1 = new a (); a a2 = new b (); b b = new b (); c = new c (); d d = new d (); System.out.println ("1--" + a1.show (b)); system.out.println ("2--" + a1.show (c)); System.out.println ("3--" + a1.show (d)); System.out.println ("4--" + A2.show (b)); System.out.ous.println ("4--" + A2.show (b)); a2.show (c)); system.out.println ("6--" + a2.show (d)); System.out.println ("7--" + b.show (b)); System.out.println ("8--" + b.show (c)); System.out.println ("9--" + b.show (d)); }} 1-- и A2-A и A3-A и D4-B и A5-B и A6-A и D7-B и B8-B и B9-A и D Когда объект Superclass относится к переменной для обозначения объекта подкласса, тип ссылочного объекта, а не типа указанной переменной определяет, чей метод элемента называется, но вызываемый метод должен быть определен в SuperClass, то есть метод, охваченный подклассом.
Давайте использовать пример, чтобы проиллюстрировать значение этого предложения: A2.show (b);
Здесь A2 является эталонной переменной типа A, которая относится к объекту B. Следовательно, согласно вышеуказанному предложению, это означает, что есть B, чтобы решить, чей метод звонить, поэтому a2.show (b) должен вызвать Show (b obj) в B, и результат должен быть «B и B», но почему он отличается от предыдущего результата выполнения? Здесь мы игнорируем следующее предложение «но метод, вызванный здесь, должен быть определен в суперклассе», так же, как и в классе A, существует ли Show (b obj)? Этого не существует вообще! Значит, это предложение здесь не применяется? Так что это предложение неправильно? Нет! Фактически, это предложение также подразумевает это предложение: оно все еще должно быть подтверждено в соответствии с приоритетом призывных методов в цепочке наследования. Вот почему он обнаруживает, что показывает (obj) в классе A. В то же время, поскольку B переопределяет метод, он вызывает методы в классе B, в противном случае будут вызваны методы в классе A.
Вышеуказанное - понимание трех основных особенностей инкапсуляции, наследования и полиморфизма Java. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!