JAVAオブジェクト指向 - 抽象クラス、インタフェース

抽象クラス

方法を変更する抽象的なキーワードを使用した場合、抽象クラスと呼ばれるクラスを変更する抽象的なキーワードを使用している場合、このメソッドは抽象メソッドです。親クラス継承クラスは抽象クラスである場合は、次に我々は、抽象クラスを完全に達成し、すべての抽象メソッドを配置する必要があります。なぜそれが抽象クラスを使うのか?親クラスのメソッドを決定することができないときは、抽象メソッドに抽象クラスを定義することができます。

 

注意事項

Ⅰ。抽象クラスはインスタンス化することはできません

Ⅱ。抽象クラスは必ずしも抽象メソッドが含まれていません。

Ⅲ。抽象クラスはメソッドが含まれていたら、このクラスは抽象宣言する必要があります

IV。抽象クラスは、本体を持つことはできません

 

1  パッケージcom.beekc.www。
2  
3  パブリック クラスBeekc {
 4      パブリック 静的 ボイドメイン(文字列[]引数){
 5          匹= 新しい犬()。
6          an.cry()。
7          = 新しい猫();
8          an.cry()。
9      }
 10  }
 11  
12  // 抽象类
13  抽象 クラス動物の
 14  {
 15      プライベート int型の年齢;
16      プライベート名前ストリング;
 17      // 抽象メソッド
18である     抽象 公共 ボイド(叫び);
 19  
20  }
 21である 
22である クラス延び動物
 23である {
 24      // 動物継承、方法叫び実現する点
25      公共 ボイド叫び()は
 26である     {
 27          システム。 out.printlnを( "猫、ミュウ〜" );
 28      }
 29  }
 30  
31である クラス延び動物の
 32  {
 33である     //動物は、方法を実装するための叫びこと、継承
34は     公共 ボイド叫び()
 35      {
 36          のSystem.out.println( "犬吠える〜" );
 37      }
 38 }

 

業績

 

インターフェース

書面でこれらの方法の状況に応じたとき、インターフェース方法は、一緒にパッケージ化、使用するクラスのないコンテンツを与えられていません。インタフェースは、抽象クラスのメソッドは、すべてのメソッドが何のメソッド本体を持たないインターフェースを持つメソッドを持つことができ、より抽象的な抽象クラスです。インターフェイスは、デザインのアイデア多型と高い粘着力とプログラミングの低い結合を反映しています。

 

注意事項

Ⅰ。インタフェースは、インスタンス化することはできません

Ⅱ。インタフェース・メソッドは、すべてのボディを持つことができません

Ⅲ。Aクラスは、複数のインターフェイスを実装することができ

Ⅳ。インターフェースは、可変であってもよいが、変数はプライベートで修正し、保護することができません

Ⅴ。インタフェースは、他のクラスから継承することができないが、他のインタフェースを継承することができ

 

 1 package com.beekc.www;
 2 
 3 //定义一个叫Usb的接口,用interface关键字
 4 interface Usb
 5 {
 6     int a= 1;
 7     //定义两个方法
 8     public void start();
 9     public void stop();
10 }
11 
12 //相机类继承一个接口,用implements关键字
13 class Camera implements Usb
14 {
15     //继承了接口,一定要Usb接口里的方法
16     public void start()
17     {
18         System.out.println("我是相机,开始工作了!");
19     }
20     public void stop()
21     {
22         System.out.println("我是相机,停止工作了!");
23     }
24 }
25 
26 //手机类继承一个接口,用implements关键字
27 class Phone implements Usb
28 {
29     //继承了接口,一定要Usb接口里的方法
30     public void start()
31     {
32         System.out.println("我是手机,开始工作了!");
33     }
34 
35     public void stop()
36     {
37         System.out.println("我是手机,停止工作了!");
38     }
39 }
40 
41 //计算机
42 class Computer
43 {
44     //开始使用接口
45     public void useUsb(Usb usb)
46     {
47         usb.start();
48         usb.stop();
49     }
50 }
51 
52 
53 public class Beekc {
54     public static void main(String[] args) {
55         System.out.println(Usb.a);
56         Computer computer = new Computer();
57         Camera camera = new Camera();
58         Phone phone = new Phone();
59         computer.useUsb(camera);
60         computer.useUsb(phone);
61     }
62 }

 

运行结果

 

おすすめ

転載: www.cnblogs.com/beekc/p/12334126.html
おすすめ