インターフェイスの役割: 1. インターフェイスによってプロジェクトを分離でき、すべてのレイヤーがインターフェイスに向けて開発されるため、開発効率が向上します; 2. インターフェイスによってコードとコードの間の結合が軽減されます; 3. インターフェイスは複数の方法で実装できます, 多重継承。インターフェイスに加えて、クラスは他のクラスも継承できます。
インターフェースの役割:
(推奨チュートリアル: java エントリー プログラム)
1. プロジェクトを分離し、すべてのレイヤーをインターフェイス化して開発効率を向上;
2. インターフェイスはコードとコードの結合を減らし、プラグイン可能になり、自由に切り替えることができます;
3. インターフェイスと抽象クラスの両方で特定の機能を完了できます。インターフェイスは複数の方法で実装および継承でき、インターフェイスに加えて他のクラスも継承できるため、インターフェイスが推奨されます。
(ビデオ チュートリアルの推奨: Java ビデオ チュートリアル)
コード例:
public interface CustomerService { //定义一个推出系统的方法 void logout(); } package date818;//接口实现类1public class CustomerServierImpl implements CustomerService { public void logout(){ System.out.println("成功退出系统"); } } package date818;//接口实现类2public class CustomerServiceImpl2 implements CustomerService{ public void logout(){ System.out.println("hello world"); } } package date818;public class TestCustomer { public static void main(String[] args){ //需要执行CustomerServiceImpl和CustomerImpl2接口实现类中的logout方法 //以下程序面向接口调用 CustomerService cs = new CustomerServierImpl();//多态。父类型引用指向子类型对象 //调用 cs.logout(); CustomerService cs2 = new CustomerServiceImpl2(); cs2.logout(); } }
インターフェイスの定義
package date818; public interface Engine { //所有发动机都可以通过这个接口启动 void start(); }//定义实现接口的类 package date818; public class Honda implements Engine{ public void start(){ System.out.println("本田启动"); } } package date818;public class Ymaha implements Engine{ public void start(){ System.out.println("雅马哈启动"); } }//定义生产汽车的类package date818;public class Car { //面向接口编程,不能将类实例化 /** * 引用接口定义一个属性e,相当于 * String name; * Integer age; * 类里定义的变量是成员变量;方法里定义的变量是局部变量。 */ Engine e ;//成员变量e Car(Engine e){ //定义构造方法,把局部变量e赋值给成员变量 this.e=e; } //对外提供的测试方法 public void testEngine(){ //成员变量e e.start(); } }//定义测试类package date818;public class TestCar { public static void main(String[] args){ //生产引擎 Engine e = new Ymaha(); //根据构造方法传入参数生产汽车 Car c = new Car(e); //测试引擎 c.testEngine(); c.e = new Honda();//已经定义了一个实例,直接对实例的参数修改即可 c.testEngine(); } }
以上がインターフェースは何をするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。