Javaインターフェース-17日間の研究ノート

インターフェース

  • 通常のクラス:具体的な実装のみ

  • 抽象クラス:特定の実装と仕様(抽象メソッド)の両方が利用可能です!

  • インターフェース:規範のみ!自分でメソッドを書くことはできません〜専門的な制約!制約と実装の分離:インターフェース指向プログラミング

  • インターフェースは仕様であり、一連のルールを定義します。これは、現実の世界で「もしあなたが...できるはずです...」という考えを具体化したものです。あなたが天使なら、あなたは飛ぶことができなければなりません。あなたが車なら、あなたは走ることができなければなりません。あなたが良い人なら、あなたは悪い人を殺さなければなりません;あなたが悪い人なら、あなたは良い人をいじめなければなりません。インターフェースの本質は、人間の法則と同じように、契約です。それが定式化された後、誰もがそれを順守します。

  • OOの本質は、オブジェクトの抽象化と、これを最もよく反映するインターフェースです。デザインパターンについて説明する理由は、抽象化機能を備えた言語(c ++、java、c#など)のみを対象としています。これは、調査対象のデザインパターンが実際には合理的に抽象化する方法であるためです。

クラスを宣言するためのキーワードはclassであり、インターフェースを宣言するためのキーワードはinterfaceです。

package com.oop.Demo03;
//interfaca   接口
 interface UserService
{
    
    
		//接口中所有定义都是抽象的  默认隐藏了public abstract
		public abstract void method();
		
		void name (String name);
		
		void add (String buffer);
		void delete (String del);
		void update (String upd);
		void query (String que);
		
		//在接口中定义属性都默认常量 public static final
		public static final int year = 3;
		int age = 10;
		
}
/*作用  
1.约束
2.定义一些方法,让不同的人实现
3.都是 public abstract
4.都是 public static final的
5.接口不能实例化,因为根本没有构造器属于抽象的
6.interface可以多继承 必须要重写接口中的方法

*/

package com.oop.Demo03;

//类可以实现接口   implements  a implements b,必须要重写方法
//实现了接口就要重写完接口中所有的类
//利用接口实现多线程
//,TextService
public class UserServiveImf implements UserService,TextService
{
    
    

		@Override
		public void method()
		{
    
    
		//实现这个方法
		}

		@Override
		public void add(String buffer)
		{
    
    
		// 实现这个方法
		}

		@Override
		public void delete(String del)
		{
    
    
		
		}

		@Override
		public void update(String upd)
		{
    
    
		
		}

		@Override
		public void query(String que)
		{
    
    
		
		}

		@Override
		public void name(String name)
		{
    
    
		
		}

		@Override
		public void text()
		{
    
    
		
		}
  
}

package com.oop.Demo03;

public interface TextService
{
    
    
	 void text();
}

おすすめ

転載: blog.csdn.net/yibai_/article/details/114954486