В этой статье описывается динамическое планирование Java. Поделитесь этим для вашей ссылки, следующим образом:
Динамическое планирование методов:
1. Доступ к нестатическому методу указанной переменной и связывает метод фактического ссылочного объекта во время выполнения.
2. Доступ к статическому методу указанной переменной, которая связана с объявленным методом класса во время выполнения.
3. Доступ к переменным элемента указанной переменной (включая статические переменные и переменные экземпляра) и свяжите переменные элемента объявленного класса во время выполнения.
Пункт 3: Обратите особое внимание, я никогда не замечал этого раньше
1. Нестатические методы:
Public Class Person {public String name; public void getInfo () {System.out.println ("Родительский класс"); }} public Class Student расширяет Person {public void getInfo () {// метод переопределить super.getInfo (); // Вызовите систему метода родительского класса. Человек t = новый человек (); s = t; // Тип объекта S - родительский класс, то есть личный класс s.getinfo ();}}Результатом прогона является: родительский класс
2. Статический метод:
Public Class Person {public String name; public static void getInfo () {System.out.println ("Родительский класс"); }} public Class Student Extens Person {publics static void getInfo () {// system System.out.out.println ("subclass");} public static void main (string [] args) {person s = new Student (); s.getinfo (); // эквивалентно Person.getInfo ();}}Результатом прогона является: родительский класс
3. переменные члена
открытый класс Erson {public String name = "Отец"; public void getInfo () {System.out.println ("Родительский класс"); }} public Class Student расширяет Person {public String name = "son"; public void getInfo () {// method overde super.getinfo (); // Вызовите систему метода родительского класса.Результат работы: Fanther
То же самое относится и к изменению переменных членов на статические типы
Кроме того, для следующих двух переменных
Студенты = новый студент (); человек t = новый студент ();
Тем не менее, на самом деле существует разница между ними. Например, когда у студента подкласса есть свой персонализированный метод (не в родительском классе), существует метод
public goschool () {}Тогда только S может вызвать этот метод Госчола
t нельзя вызвать
Я надеюсь, что эта статья будет полезна для всех Java Programming.