JAVA:インタフェースクラス(コード練習)
22375 ワード
こんにちは.😊 今日はJAVA:インタフェースクラスをご紹介しましょう.
前回のプレゼンテーションJAVA:Downcasting、抽象クラス、インタフェースクラスでは、インタフェースクラスを最後にプレゼンテーションした後、インタフェースクラスコードの最後のプレゼンテーションを完了した.
インタフェースクラスがJavaに基づいて非常に重要である以上、今日はさらに位置づけます.
インタフェースフィーチャージェネレータを所有できません.new演算子ではインスタンス化できません.関数はabstractキーワードを必ずしも使用する必要はありません.変数はすべて定数です.静的関数とdefault関数を使用できます
5つのjavaファイルでコード練習をしましょう.😊
Exam_Inter_1_Class.java
main関数を含まないクラス
さぎょうげんり
出力結果
インタフェースクラスから各国の挨拶文を継承して出力する例を見てみましょう.
MessageInterface.java
main関数を含まないクラス
さぎょうげんり
出力結果
入る前に...
前回のプレゼンテーションJAVA:Downcasting、抽象クラス、インタフェースクラスでは、インタフェースクラスを最後にプレゼンテーションした後、インタフェースクラスコードの最後のプレゼンテーションを完了した.
インタフェースクラスがJavaに基づいて非常に重要である以上、今日はさらに位置づけます.
インタフェースクラス
インタフェースフィーチャージェネレータを所有できません.new演算子ではインスタンス化できません.関数はabstractキーワードを必ずしも使用する必要はありません.変数はすべて定数です.静的関数とdefault関数を使用できます
インタフェース練習例1
5つのjavaファイルでコード練習をしましょう.😊
Exam_Inter_1_Class.java
package a.b.c.ch2.aaaa;
public class Exam_Inter_1_Class implements Exam_Inter_1, Exam_Inter_3{
@Override
public /*abstract 키워드 생략*/ void aM(){
System.out.println("Exam_Inter_1 인터페이스에서 오버라이딩 해서 aM() {} 블럭을 만들고 재정의 하는 함수이다.");
}
@Override
public /* abstract */ void bM(){
System.out.println("Exam_Inter_1 인터페이스에서 오버라이딩 해서 bM() {} 블럭을 만들고 재정의 하는 함수이다.");
}
@Override
public /* abstract */ void cM() {
System.out.println("Exam_Inter_1 인터페이스에서 오버라이딩 해서 cM() {} 블럭을 만들고 재정의 하는 함수이다.");
}
@Override
public void dM(){
System.out.println("Exam_Inter_2 인터페이스에 있는 추상함수이다.");
System.out.println("Exam_Inter_1 인터페이스에 extends 키워드로 인터페이스 상속을 해주었다.");
System.out.println("Exam_Inter_1 인터페이스에 dM() 함수를 오버라이딩 해주었다.");
System.out.println("Exam_Inter_1_Class 클래스에서 오버라이딩해서 재정의 했다.");
}
@Override
public void eM(){
System.out.println("Exam_Inter_3 인터페이스에 있는 추상함수이다.");
}
}
Exam_Inter_1.javapackage a.b.c.ch2.aaaa;
public interface Exam_Inter_1 extends Exam_Inter_2{
public /* abstract 키워드 생략 */ void aM();
public abstract void bM();
public abstract void cM();
}
Exam_Inter_2.javapackage a.b.c.ch2.aaaa;
public interface Exam_Inter_2 {
public void dM();
}
Exam_Inter_3.javapackage a.b.c.ch2.aaaa;
public interface Exam_Inter_3 {
public void eM();
}
Exam_Inter_1_Test.javapackage a.b.c.ch2;
import a.b.c.ch2.aaaa.Exam_Inter_1;
import a.b.c.ch2.aaaa.Exam_Inter_3;
import a.b.c.ch2.aaaa.Exam_Inter_1_Class;
public class Exam_Inter_1_Test {
public static void main(String args[]) {
Exam_Inter_1 ei1 = new Exam_Inter_1_Class();
System.out.println("ei1 참조변수 주소값 >>> : " + ei1);
Exam_Inter_3 ei3=new Exam_Inter_1_Class();
ei1.aM();
ei1.bM();
ei1.cM();
ei1.dM();
ei3.eM();
}
}
インタフェース練習例1に示す構成と結果
main関数を含まないクラス
さぎょうげんり
出力結果
ei1 참조변수 주소값 >>> : a.b.c.ch2.aaaa.Exam_Inter_1_Class@15db9742
Exam_Inter_1 인터페이스에서 오버라이딩 해서 aM() {} 블럭을 만들고 재정의 하는 함수이다.
Exam_Inter_1 인터페이스에서 오버라이딩 해서 bM() {} 블럭을 만들고 재정의 하는 함수이다.
Exam_Inter_1 인터페이스에서 오버라이딩 해서 cM() {} 블럭을 만들고 재정의 하는 함수이다.
Exam_Inter_2 인터페이스에 있는 추상함수이다.
Exam_Inter_1 인터페이스에 extends 키워드로 인터페이스 상속을 해주었다.
Exam_Inter_1 인터페이스에 dM() 함수를 오버라이딩 해주었다.
Exam_Inter_1_Class 클래스에서 오버라이딩해서 재정의 했다.
Exam_Inter_3 인터페이스에 있는 추상함수이다.
インタフェース練習例2
インタフェースクラスから各国の挨拶文を継承して出力する例を見てみましょう.
MessageInterface.java
package a.b.c.ch2;
public interface MessageInterface{
public void sayHello(String name);
}
MessageKorImpl.javapackage a.b.c.ch2;
public class MessageKorImpl implements MessageInterface{
@Override
public void sayHello(String name){
System.out.println("안녕하세요, "+name+"!!");
}
}
MessageEngImpl.javapackage a.b.c.ch2;
public class MessageEngImpl implements MessageInterface{
@Override
public void sayHello(String name){
System.out.println("Hello, "+name+"!!");
}
}
MessageTest.javapackage a.b.c.ch2;
public class MessageTest{
public static void main(String[] args){
MessageInterface eme=new MessageEngImpl();
eme.sayHello("velog");
MessageInterface emk=new MessageKorImpl();
emk.sayHello("벨로그");
}
}
インタフェース練習例2に示す構成と結果
main関数を含まないクラス
さぎょうげんり
出力結果
Hello, velog!!
안녕하세요, 벨로그!!
以上がJAVA:Interface Class(コード練習)の位置づけです.😀Reference
この問題について(JAVA:インタフェースクラス(コード練習)), 我々は、より多くの情報をここで見つけました https://velog.io/@yunyoseob/JAVA-인터페이스클래스코드실습テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol