JAVA面向对象 接口

Posted zjx-959

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA面向对象 接口相关的知识,希望对你有一定的参考价值。

1:接口:如果类所存在的方法都没实现      interface

               类只可继承一个类,但可以实现(implements)多个接口,继承和实现可以同时

2:接口的特性

     接口不可以被实例化,                                             eg:public interface Myname(){

     实现类必须实现接口的所有方法                                            public void foo();

     实现类可以实现多个接口                                              }

     接口中的变量都是静态常量                        所有方法都是:public abstract可以写抽象方法

3:可以使用java接口来实现

      编写USB接口——根据需求设计方法                 eg:public class Test imprements Myname{   

      实现USB 接口——实现所有方法                        public void foo(){ System.out.println("")}

      使用USB接口——用多态的方法使用                  Myname v=new Test (); v.foo();}

4:面向接口编程:

      程序设计时:关心实现类有何能力,而不关心实现细节。

                           面向接口的约定而不考虑接口实现

5:如何理解接口是一种能力?

      接口有比抽象类更好地特征:

      可以被多继承,设计和实现完全分离

      更自然的使用多态

      更容易搭建程序框架

      更容易更换实现

6:面向接口编程的好处:

     更加抽象,更加面向对象 ,提高编程的灵活性,提高可维护性降低耦合性

7:不能用修饰interface得有:

      private,protected,static,

8:java 接口:属性都是全局静态常量   方法:全局抽象方法,无构方法

   C#接口:成员主要是方法属性,不能包含常量,变量,构造方法,任何静态成员不能显示

                    指定任何修饰符。

8:C#中的接口

         [修饰符] interface 接口名 : 父接口1,父接口2, …… {

         属性定义 方法定义

          }

            class 类名 : 父类名,接口1,接口2, …… { }

        定义接口:

            public interface UsbInterface {

                      void Service ();

            }

      定义实现类:

        public class UDisk : UsbInterface {

                     public void service() {

                           Console.WriteLine("连接USB口,开始传输数据。");

                     }

          }

9:Java接口 和C#接口比较

                                   Java接口                                        C#接口

定义                            interface                                          interface

实现                             implements                                          :

静态成员                     常量                                                    无

public                        可以显示使用                                    不能显示使用

10:抽象类和接口的异同

        相同:俩者都不能被实例化,不能new操作

        不同:抽象类  absoract                  接口interface

       抽象类可以有部分方法实现,接口所有方法不能实现

        一个类只能继承一个抽象类,实现implenments多个接口

        接口可以继承多个接口

        抽象类有构造方法,接口没有构造函数

        抽象类可以有main也能运行 ,接口没有main函数

        抽象类方法可以有private  /   protected   接口方法都是public

11:interface可以和abstract一起用   

       接口中只可定义常量不可定义变量      一个类可以实现多个接口       不能new操作

12:继承和接口的区别:

       继承:子类和父类的关系,子类功能比父类完整,减少代码量。

                 一个子类只有一个父类  一个父类可以有多个子类

       接口:  接口和实现类的关系,

             (接口:规定,规范,标准。实现:具体实现代码功能)

                 一个可以实现implement的接口

13:抽象类和接口的区别:(都不能直接使用)

          抽象类可以由属性,方法(抽象方法,普通方法)

          接口中都是抽象方法            属性=静态常量    eg:public  void int ();

         使用:

           抽象类必须继承extends    接口必须实现  implement

           类是单继承       接口是多实现          接口是特殊的抽象类

 

以上是关于JAVA面向对象 接口的主要内容,如果未能解决你的问题,请参考以下文章

JAVA——面向对象——集合

Java面向对象-接口

面向接口的开发到面向对象的编程

java基础(11)面向对象--接口

Java面向对象之接口

java学习笔记之面向对象接口