面向对象(接口——定义interface)



                                            面向对象(接口——定义interface

abstract   class  AbsDemo{

        abstract   void  show();

        abstract   void  show();

}

/*

当一个抽象类中的方法都是抽象的时候,这时可以将该类抽象类用另外一种形式定义

和表示,就是接口interface。

定义接口使用的关键字不是class,是interface。

对于接口当中常见的成员:而这些成员都有固定的修饰符。

1,全局常量:public static  final。

2,抽象方法 :public   abstract。

 */

interface   Demo{

        public  static  final  int  NUM=4;

        public  abstract   void  show();

        public  abstract   void  show();

}

class   InterfaceDemo{

        public static void main(String[] args){

                System.out.println("hehe");

        }

}


                                                    面向对象(接口——实现implements)

interface  Demo{

        public  static  final  int   NUM=4;

        public  abstract  void  show1();

        public  abstract   void   show2();

}

/*

类与类之间是继承关系,类与接口直接是实现关系。

接口不可以被实例化。

只能由实现了接口的子类并覆盖了接口中所有的抽象方法,

该子类才可以被实例化,否则,这个子类就是一个抽象类。

*/

class  DemoImpl   implements/*实现*/  Demo{

        public  void  show1()

        {}

        public void show2()

        {


        }

}

class  InterfaceDemo1{

        publci static void main(String[] args){

                DemoImpl  d=new  DemoImpl();

                System.out.println(d.NUM);

                System.out.println(DemoImpl.NUM);

                System.out.println(Demo.NUM);

        }

}


                                                        面向对象(接口——多实现)

在Java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制

改良,在java中变成了多实现。

一个类可以实现多个接口。

interface  A{

        public  void  show();

}

interface  Z{

        publi   void   show();

}

class  Test  implements  A,Z//多实现

{

        public  void  show()

        {


        }

}

class  InterfaceDemo2{

        public static void main(String[] args){

                Test   t=new  Test();

                t.show();

        }

}


                                                        面向对象(接口——细节)

interface   A{

        public void show();

}

interface  Z{

        public void show();

}

class  Test  implements  A,Z{

        public  int  add(int a,int  b){

                return   a+b+3;

        }

        public void show(){}

}

//一个类在继承另一个类的同时,还可以实现多个接口。

class   Q{

        public  void  method()

        {}

}

abstract  class  Test2  extends  Q  implements   A,Z

{


}

//接口的出现避免了单继承的局限性

interface  C{

        void  show();

}

interface  M{

        void  show();

}

interface  Q  extends  C,M{

        //接口与接口之间是继承关系,而且接口可以多继承。

        void  function();

}

class   W  ipmlements  Q

{//覆盖3个方法

        public  void  show(){}

        public  void  method(){}

        public  void function(){}

}

class  InterfaceDemo3{

        publci static void main(String[] args){

                Test   t=new  Test();

                t.show();

        }

}


java支持多继承吗?

支持。只不过多继承在类中进行了改良,用了多实现来体现,但是接口内容

的出现,却可以进行多继承,原理是,方法体是否有存在。

java支持多继承吗?

支持。支持接口。只要看有没有方法体,不支持多继承的原因就是方法体

导致运行调用的不确定性。


                                                                面向对象(接口——特点)

  1. 接口是对外暴露的规则

  2. 接口是程序的功能扩展

  3. 接口的出现降低耦合性

  4. 接口可以用来多实现

  5. 类也接口之间是实现关系,而且类可以继承一个类的同时实现多个接口

  6. 接口与接口之间可以有继承关系


                                            面向对象(接口和抽象类的区别)

抽象类和接口的异同点:

相同点:都是不断向上抽取而来的

不同点:

1,抽象类需要被继承,而且只能单继承。

     接口需要被实现,而且可以多实现

2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法

    接口中只能定义抽象方法,必须由子类去实现

3,抽象类的继承,是is   a关系,在定义该体系的基本共性内容

    接口的实现时like  a关系,在定义体现额外功能

注:is   a(所有的意思)

       like   a(像,不像的意思)


犬按功能分,导盲犬,搜爆犬

abstract   class 犬{

        abstract  void  吼叫();

}

interface 导盲{

        abstract  void  导盲();//导盲功能

}

class  导盲犬  extends  犬   implements   导盲{

        public  void   吼叫()//吼叫功能

        {


        }

        public void 导盲(){}//导盲功能

}    


                                                                面向对象(接口的应用)

笔记本电脑使用

为了扩展笔记本的功能,但日后出现什么功能设备不知道。

定义一个规则,只要日后出现的设备都符合这个规定就可以了。

规则在java中就是接口。

interface   USB//暴露的规则

{

        public void open();//开

        public void  close();//关

}

class  BookPC{

        public static void main(String[] args){

                useUSB(new  UPan());//功能扩展

                useUSB(new  UsbMouse());

        }

        //使用规则

        publci  static void  useUSB(USB  u)

        {//接口类型的引用,用于接受(指向)接口的子类对象

                u.open();

                u.close();

        }

}

//一年后

//实现规则

//这些设备和电脑的耦合性降低了

class  UPan  implements  USB{

        public void  open(){

                System.out.println{"upan  open"}

        }

        public  void close(){

                System.out.println("upan  close");

        }

}

class  UsbMouse  implements  USB{

        public  void  open(){

                System.out.println("UsnMouse  open")

        }

        publci  void close(){

                System.out.println("UsnMouse  close");

        }

}


                                            面向对象(接口——定义interface

abstract   class  AbsDemo{

        abstract   void  show();

        abstract   void  show();

}

/*

当一个抽象类中的方法都是抽象的时候,这时可以将该类抽象类用另外一种形式定义

和表示,就是接口interface。

定义接口使用的关键字不是class,是interface。

对于接口当中常见的成员:而这些成员都有固定的修饰符。

1,全局常量:public static  final。

2,抽象方法 :public   abstract。

 */

interface   Demo{

        public  static  final  int  NUM=4;

        public  abstract   void  show();

        public  abstract   void  show();

}

class   InterfaceDemo{

        public static void main(String[] args){

                System.out.println("hehe");

        }

}


                                                    面向对象(接口——实现implements)

interface  Demo{

        public  static  final  int   NUM=4;

        public  abstract  void  show1();

        public  abstract   void   show2();

}

/*

类与类之间是继承关系,类与接口直接是实现关系。

接口不可以被实例化。

只能由实现了接口的子类并覆盖了接口中所有的抽象方法,

该子类才可以被实例化,否则,这个子类就是一个抽象类。

*/

class  DemoImpl   implements/*实现*/  Demo{

        public  void  show1()

        {}

        public void show2()

        {


        }

}

class  InterfaceDemo1{

        publci static void main(String[] args){

                DemoImpl  d=new  DemoImpl();

                System.out.println(d.NUM);

                System.out.println(DemoImpl.NUM);

                System.out.println(Demo.NUM);

        }

}


                                                        面向对象(接口——多实现)

在Java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制

改良,在java中变成了多实现。

一个类可以实现多个接口。

interface  A{

        public  void  show();

}

interface  Z{

        publi   void   show();

}

class  Test  implements  A,Z//多实现

{

        public  void  show()

        {


        }

}

class  InterfaceDemo2{

        public static void main(String[] args){

                Test   t=new  Test();

                t.show();

        }

}


                                                        面向对象(接口——细节)

interface   A{

        public void show();

}

interface  Z{

        public void show();

}

class  Test  implements  A,Z{

        public  int  add(int a,int  b){

                return   a+b+3;

        }

        public void show(){}

}

//一个类在继承另一个类的同时,还可以实现多个接口。

class   Q{

        public  void  method()

        {}

}

abstract  class  Test2  extends  Q  implements   A,Z

{


}

//接口的出现避免了单继承的局限性

interface  C{

        void  show();

}

interface  M{

        void  show();

}

interface  Q  extends  C,M{

        //接口与接口之间是继承关系,而且接口可以多继承。

        void  function();

}

class   W  ipmlements  Q

{//覆盖3个方法

        public  void  show(){}

        public  void  method(){}

        public  void function(){}

}

class  InterfaceDemo3{

        publci static void main(String[] args){

                Test   t=new  Test();

                t.show();

        }

}


java支持多继承吗?

支持。只不过多继承在类中进行了改良,用了多实现来体现,但是接口内容

的出现,却可以进行多继承,原理是,方法体是否有存在。

java支持多继承吗?

支持。支持接口。只要看有没有方法体,不支持多继承的原因就是方法体

导致运行调用的不确定性。


                                                                面向对象(接口——特点)

  1. 接口是对外暴露的规则

  2. 接口是程序的功能扩展

  3. 接口的出现降低耦合性

  4. 接口可以用来多实现

  5. 类也接口之间是实现关系,而且类可以继承一个类的同时实现多个接口

  6. 接口与接口之间可以有继承关系


                                            面向对象(接口和抽象类的区别)

抽象类和接口的异同点:

相同点:都是不断向上抽取而来的

不同点:

1,抽象类需要被继承,而且只能单继承。

     接口需要被实现,而且可以多实现

2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法

    接口中只能定义抽象方法,必须由子类去实现

3,抽象类的继承,是is   a关系,在定义该体系的基本共性内容

    接口的实现时like  a关系,在定义体现额外功能

注:is   a(所有的意思)

       like   a(像,不像的意思)


犬按功能分,导盲犬,搜爆犬

abstract   class 犬{

        abstract  void  吼叫();

}

interface 导盲{

        abstract  void  导盲();//导盲功能

}

class  导盲犬  extends  犬   implements   导盲{

        public  void   吼叫()//吼叫功能

        {


        }

        public void 导盲(){}//导盲功能

}    


                                                                面向对象(接口的应用)

笔记本电脑使用

为了扩展笔记本的功能,但日后出现什么功能设备不知道。

定义一个规则,只要日后出现的设备都符合这个规定就可以了。

规则在java中就是接口。

interface   USB//暴露的规则

{

        public void open();//开

        public void  close();//关

}

class  BookPC{

        public static void main(String[] args){

                useUSB(new  UPan());//功能扩展

                useUSB(new  UsbMouse());

        }

        //使用规则

        publci  static void  useUSB(USB  u)

        {//接口类型的引用,用于接受(指向)接口的子类对象

                u.open();

                u.close();

        }

}

//一年后

//实现规则

//这些设备和电脑的耦合性降低了

class  UPan  implements  USB{

        public void  open(){

                System.out.println{"upan  open"}

        }

        public  void close(){

                System.out.println("upan  close");

        }

}

class  UsbMouse  implements  USB{

        public  void  open(){

                System.out.println("UsnMouse  open")

        }

        publci  void close(){

                System.out.println("UsnMouse  close");

        }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值