자바 강좌의 자바 계승 예시 상세 설명
계승은: 새로 정의된 클래스는 기존의 클래스에서 속성과 방법을 얻는 현상이다.이 기존의 클래스를 부류라고 하고, 이 부류에서 속성과 방법을 얻는 클래스를 부류라고 한다.
ExtendsDemo1.java
/* */
public class ExtendsDemo1 {
public static void main(String[] args) {
Truck t = new Truck();
t.size = 100; // 。 , set(), get() .
// t size, color 。
//
}
}
class Car { //
int size; //
String color; //
}
class Truck extends Car { //
String packingBox; //
}
상속의 이점1. 코드의 중용성 향상
2. 클래스와 클래스 사이의 관계를 형성하고 다태적인 조건을 만들었다.
계승 (extends) 형식입니다.슈퍼 키워드
1. 슈퍼 키워드와this의 사용법은 같다
2.this는 본류 인용, super는 부류 인용
3. 하위 클래스와 상위 클래스가 같은 이름의 멤버가 나타날 때 슈퍼와this로 구분 가능
SuperDemo.java
class SubClass extends SuperClass {
// ;
}
상위 클래스에서 상속된 방법을 다시 쓰기(Override)1. 하위 클래스에서 상위 클래스와 동일한 방법(반환값, 함수 이름, 인삼)이 나타나면 다시 쓰기(Override) 작업이 나타납니다.
OverrideDemo1.java
/* super
* :
* super.i = 10, this.i = 20
*/
public class SuperDemo {
public static void main(String[] args) {
new SubClass().showMessage();
}
}
class SuperClass {
int i = 10;
}
class SubClass extends SuperClass {
int i = 20;
public void showMessage() {
System.out.printf("super.i = %d, this.i = %d
", super.i, this.i);
}
}
2. 상위 메서드에 대해 다시 쓰기(Override) 작업을 할 때 하위 메서드는 상위 메서드와 이름이 같지만 다른 반환 메서드가 나타나지 않도록 합니다.OverrideDemo2.java
/* (Override)
* :
* SuperClass: I am good~
* SubClass: I am excellent~~~
*/
public class OverrideDemo1 {
public static void main(String[] args) {
SubClass sc = new SubClass();
sc.speak();
}
}
class SuperClass {
public void speak() {
System.out.println("SuperClass: I am good~");
}
}
class SubClass extends SuperClass {
@Override //@Override , , , 。
public void speak() {
super.speak();
System.out.println("SubClass: I am excellent~~~");
}
}
3. 하위 클래스가 상위 클래스를 다시 쓰는 방법에 대한 접근 권한이 상위 클래스에서 다시 쓰는 방법보다 크거나 같음OverrideDemo3.java
/*
* :
* OverrideDemo.java:20: error: f() in SubClass cannot override f() in SuperClass
* public int f() {
* ^
* return type int is not compatible with void
* OverrideDemo.java:19: error: method does not override or implement a method from a supertype
* @Override
* ^
* 2 errors
*/
public class OverrideDemo2 {
public static void main(String[] args) {
}
}
class SuperClass {
public void f() {
}
}
class SubClass extends SuperClass {
@Override
public int f() {
return 1;
}
}
액세스 제어 문자액세스 제어 문자는public,protected,default,private
가방(package)에 대한 지식이 좀 필요하기 때문에 가방을 이야기할 때 다시 이야기하자.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.