java 동적 방법 스케줄링 실례 분석
동적 방법 스케줄링:
1. 인용형 변수의 비정적 방법에 접근하여 실행할 때 실제 인용된 대상의 방법과 연결한다.
2. 인용형 변수에 접근하는 정적 방법은 실행할 때 성명된 클래스와 연결됩니다.
3. 인용형 변수의 구성원 변수(정적 변수와 실례 변수 포함)에 접근하여 실행할 때 성명된 클래스의 구성원 변수와 연결합니다.
세 번째는 특히 주의해라, 이전에 나는 여태껏 주의한 적이 없다
1. 비정적 방법:
public class Person {
public String name;
public void getInfo() {
System.out.println(" ");
}
}
public class Student extends Person {
public void getInfo() { //
super.getInfo(); //
System.out.println(" ");
}
public static void main(String[] args) {
Person s = new Student();
Person t = new Person();
s = t; // S , Person
s.getInfo();
}
}
실행 결과: 상위 클래스2. 정적 방법:
public class Person {
public String name;
public static void getInfo() {
System.out.println(" ");
}
}
public class Student extends Person {
Publics static void getInfo() { //
System.out.println(" ");
}
public static void main(String[] args) {
Person s = new Student();
s.getInfo(); // Person.getInfo();
}
}
실행 결과: 상위 클래스3. 멤버 변수
public class erson {
public String name = "father";
public void getInfo() {
System.out.println(" ");
}
}
public class Student extends Person {
public String name = "son";
public void getInfo() { //
super.getInfo(); //
System.out.println(" ");
}
public static void main(String[] args) {
Person s = new Student();
Person t = new Person();
s = t;
System.out.println(s.name);
}
}
실행 결과:fanther멤버 변수를 static 형식으로 바꾸는 것도 마찬가지예요.
또한 다음과 같은 두 변수에 대해
Students = new Student();
Person t = new Student();
그러나 이 두 가지는 사실상 차이가 있다. 자류 Student에서 자신의 개성적인 방법(부류에 없는 것)이 있을 때, 예를 들어 방법이 있다
public goSchool(){
}
그러면 s만 이 goSchool 방법을 사용할 수 있어요.t는 호출할 수 없습니다
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.