안녕하세요, 나는 Java
을 배우고 있는데, 나는 그들 사이의 차이점을 이해하고 싶습니다. animal
은 동물 유형이고 animal3
은 Dog 유형이지만 어떤 유형이 animal2
일까요? 실제로 여기서 무슨 일이 일어나고있는거야? 고맙습니다.변수 선언
변수 선언
답변
Animal animal2 = new Dog();
Dog
클래스는 클래스 Dog
이 때문에 클래스 동물의이 참조의 클래스 Animal
의 속성을 상속하기 때문에 Animal
의 서브 클래스 클래스 개입니다 하위 클래스의 객체를 보유하지만 당신의 메소드를 호출 할 경우에 override
입니다 class Dog. 메소드 Dog
이 호출됩니다. 질문의
답변 :
객체 animal2
형 클래스 개입니다. 클래스 Animal
의 참조 변수입니다.
animal2가 Dog 클래스 유형이고 참조 변수의 클래스가 Animal 인 경우, 같은 이름의 메소드를 호출 할 때 Animal 클래스 또는 Dog 클래스의 메소드를 사용합니까? Dog 클래스의 – Ken
메서드가 호출됩니다. –
동물 animals2 = 새로운 Dog(); 이것은 타고있는 Concept.Over Riding는 부모 클래스의 메소드가 하위 클래스에 의해 사용되는 다형성 개념입니다.
Animal animal = new Animal();
Animal animal2 = new Dog();
Dog animal3 = new Dog();
이 세 가지 라인은 당신이 가진 세 개의 객체 anima animal2 animal3
메인 클래스 동물의 당신의 선언에 두 개의 서로 다른 생성자
먼저 어떤 매개 변수와 두 번째가없는 public Animal()
입니다 public Animal(int a, String n)
다음은 메인 클래스의 속성을 상속받은 서브 클래스 Dog
입니다. Animal
당신은 당신이 사용하는 어떤 생성자 호출 위에 Dog
이 개체의 선언에서 또한 public Dog
및 public Dog(int a, String n)
이 생성자가 서브 클래스 내부.
더 나은 더 click here
- 1. 변수 선언?
- 2. 선언 변수
- 3. 변수 선언
- 4. 변수 선언
- 5. 변수 선언
- 6. 변수 선언
- 7. 사례 변수 외부에서 변수 선언
- 8. 로컬 변수로 선언 할 전역 변수 선언
- 9. VB에서 전역 변수 선언
- 10. 변수 선언 물음표
- 11. 변수 선언 가져 오기
- 12. IntelliJ에 서식 변수 선언
- 13. Javascript 로컬 변수 선언
- 14. 오라클의 선언 변수 사용
- 15. sql 함수에서 변수 선언
- 16. 변수 선언 : 이유 인터페이스
- 17. 루비의 정수 변수 선언
- 18. 변수 선언 메모리 누수
- 19. SQL 변수 선언
- 20. C mingw의 변수 선언
- 21. 인수 대 변수 선언
- 22. 반복적으로 다른 변수 선언
- 23. 동적 변수 선언
- 24. 변수 선언 목록
- 25. C의 변수 선언 개념
- 26. 알 수없는 변수 선언
- 27. Gradle의 전역 변수 선언
- 28. java 변수 선언
- 29. 어셈블리에서 로컬 변수 선언
- 30. 전역 변수 다중 선언
상속 – Jens
에 대해 그리고 다형성 (polymorphism)에 대해 알아 학습을위한 자바 문서를 참조하십시오. 이것이 OOP의이 속성을 사용하는 예 중 하나입니다. –
이 개념은 Java에서 Upcasting으로 알려져 있습니다. 왜냐하면 여기에 수퍼 유형으로 캐스팅하기 때문입니다. Animal, animal2는 여전히 Animal을 참조하는 dog 객체입니다. 개가 동물이라는 것을 알기 때문에 그것은 완전히 유효합니다. (ClassCastException'을 던지면서 다운 캐스팅하는 동안주의하십시오.) –