자바에서 오버라이드하는 메소드를 이해하려고합니다. 개인 메서드를 재정의 할 수 없음을 이해합니다. "This is a Superclass outputthis is super class variable"
자바에서의 개인 메소드 오버라이드
이 나있는 클래스 사실에 객체 (SB)를 참조 않습니다 위해 이해 도와주세요 :
public class Superclass
{
private String name;
Superclass(String name) {
this.name=name;
}
private void printName(String name) {
System.out.println("This is a Superclass output"+name);
}
}
public class Subclass extends Superclass
{
Subclass(String name) {
super(name);
}
public void printName(String name) {
System.out.println(name);
}
}
public static void main (String[] args) {
Superclass sb = new Subclass("Superclass");
//System.out.println(sb.getClass().getName());
sb.printName("this is super class variable");
}
나는 코드 의 미리보기와 출력을 실행하려합니다. 은과
printName
는 슈퍼 클래스의 공개 때 표시되는 출력은 다음과 같습니다
"this is super class variable"
sb
은 민간 및 공공 수식에 따라 두 개의 서로 다른 클래스를 가리키는 왜 나를 이해하는 데 도움이 바랍니다.
[Java에서 기본, 공개, 보호 및 개인 간 차이점] 가능한 복제본 (https://stackoverflow.com/questions/215497/in-java-difference-between-default-public-protected-and- 개인) –