1. 오버로드되는 방법은 무엇인가요?
메서드 오버로딩은 메소드 이름은 같지만 매개변수 유형이 다르다는 뜻
1.1, 공격 방법 오버로딩
물리 공격 영웅 ADHero라는 영웅이 있는데, ADHero에 세 가지 메소드를 제공합니다. .
public void attack() public void attack(Hero h1) public void attack(Hero h1, Hero h2)
메서드 이름은 같지만, 매개변수 유형이 다릅니다
공격 메소드 호출 시 전달된 매개변수의 유형과 개수에 따라 해당 메소드가 자동으로 호출됩니다.
public class ADHero extends Hero { public void attack() { System.out.println(name + " 进行了一次攻击 ,但是不确定打中谁了"); } public void attack(Hero h1) { System.out.println(name + "对" + h1.name + "进行了一次攻击 "); } public void attack(Hero h1, Hero h2) { System.out.println(name + "同时对" + h1.name + "和" + h2.name + "进行了攻击 "); } public static void main(String[] args) { ADHero bh = new ADHero(); bh.name = "赏金猎人"; Hero h1 = new Hero(); h1.name = "盖伦"; Hero h2 = new Hero(); h2.name = "提莫"; bh.attack(h1); bh.attack(h1, h2); } }
1.2.
더 많은 영웅을 공격하려면 더 많은 메소드를 설계해야 하므로 클래스가 다음과 같이 번거로워집니다.
public void attack(Hero h1) public void attack(Hero h1,Hero h2) public void attack(Hero h1,Hero h2,Hero 3)
이때 가변 개수의 매개변수를 사용할 수 있습니다
필요한 것은 하나의 방법을 설계합니다
공개 무효 공격(영웅...영웅)
위의 모든 방법을 나타낼 수 있습니다
방법에서는 연산 배열 방법을 사용하여 매개변수 영웅을 처리합니다
public class ADHero extends Hero { public void attack() { System.out.println(name + " 进行了一次攻击 ,但是不确定打中谁了"); } // 可变数量的参数 public void attack(Hero... heros) { for (int i = 0; i < heros.length; i++) { System.out.println(name + " 攻击了 " + heros[i].name); } } public static void main(String[] args) { ADHero bh = new ADHero(); bh.name = "赏金猎人"; Hero h1 = new Hero(); h1.name = "盖伦"; Hero h2 = new Hero(); h2.name = "提莫"; bh.attack(h1); bh.attack(h1, h2); } }
연습: 처리
(클래스 지원( 보조 영웅) 영웅을 상속하고 치유 방법을 제공
지원의 치유 방법을 오버로드
heal()
heal(Hero h) //지정된 영웅에게 혈액을 추가합니다
heal(Hero h, int hp) //영웅이 가지고 있는 것을 지정 hp 추가)
Answer
public class Support extends Hero { public void heal() { System.out.println("对自己进行治疗"); } public void heal(Hero hero) { System.out.println("给英雄 " + hero + " 加血"); } public void heal(Hero hero, int hp) { System.out.println("给英雄 " + hero + " 加了 " + hp + "点血"); } }
더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트를 방문하세요:JAVA 비디오 튜토리얼
위 내용은 JAVA의 메소드 오버로딩 개념에 대한 자세한 설명 - 간단하고 이해하기 쉽습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!