「Java11」変数の型が抽象クラスを使うサンプル

環境
Java11
Eclipse4.14.0

書式
1.抽象クラスの作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
abstract class 抽象クラス名{
abstract void 抽象メソッド名();
}
abstract class 抽象クラス名{ abstract void 抽象メソッド名(); }
abstract class  抽象クラス名{
      abstract void 抽象メソッド名(); 
}

2.抽象クラスをextendsで継承します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class TestA extends 抽象クラス名 {
@Override
public void 抽象メソッド名() {処理コード}
class TestA extends 抽象クラス名 { @Override public void 抽象メソッド名() {処理コード}
class TestA extends 抽象クラス名 { 
   @Override
      public void 抽象メソッド名() {処理コード}

3.抽象クラス型  変数名 = new 抽象クラスの実装クラス名();
変数名.抽象メソッド()

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
//抽象クラス
abstract class BaseTest {
//抽象メソッド
abstract void funA();
}
//抽象クラスを継承する
class Child extends BaseTest {
//抽象メソッドをオーバーライド
@Override
public void funA() {
System.out.println("東京都 tokyo");
}
public void funB() {
System.out.println("大阪 oosaka");
}
}
public class TestAbc {
public static void main(String[] args) {
//変数の型が抽象クラス
BaseTest ch = new Child();
//抽象クラスにあるので実行
ch.funA();
}
}
package com.arkgame.study; //抽象クラス abstract class BaseTest { //抽象メソッド abstract void funA(); } //抽象クラスを継承する class Child extends BaseTest { //抽象メソッドをオーバーライド @Override public void funA() { System.out.println("東京都 tokyo"); } public void funB() { System.out.println("大阪 oosaka"); } } public class TestAbc { public static void main(String[] args) { //変数の型が抽象クラス BaseTest ch = new Child(); //抽象クラスにあるので実行 ch.funA(); } }
package com.arkgame.study;

//抽象クラス
abstract class BaseTest {
      //抽象メソッド
      abstract void funA();
}

//抽象クラスを継承する
class Child extends BaseTest {
      //抽象メソッドをオーバーライド
      @Override
      public void funA() {
            System.out.println("東京都 tokyo");
      }

      public void funB() {
            System.out.println("大阪 oosaka");
      }
}

public class TestAbc {
      public static void main(String[] args) {
            //変数の型が抽象クラス
            BaseTest ch = new Child();
            //抽象クラスにあるので実行
            ch.funA();
      }
}

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
東京都 tokyo
東京都 tokyo
東京都 tokyo

 

Java

Posted by arkgame