美文网首页
接口和多态的使用

接口和多态的使用

作者: 卓昂芭比 | 来源:发表于2018-11-03 23:38 被阅读0次

一.接口的使用

接口(interface):用于处理继承单一的局限性;接口中的所有方法都是抽象方法;接口与了类的关系是实现(implements).

格式:interface接口名{

public static final 变量名=1;//必须初始化且不可改变。

* public abstract void 方法名();

* //接口内的方法都是抽象方法,无方法体{},不能实例化,若想实例化必须创建子类去实现。

}

接口的成员特点:只能是抽象方法和常量;接口不能创建对象(实例化);

关系:类与类:继承(单一继承,多层继承)

 类与接口:实现,多实现

接口与接口:继承,多继承

interface App {//接口

public static final int i=1;

    public abstract void app();

}

interface Bpp extends App{

public abstract void bpp();

}

class TestApp implements Bpp{//接口的实现

public  void app(){

System.out.println("实现App接口"+i);

}

public  void bpp(){

System.out.println("实现Bpp接口"+i);

}

}

public class TestAp{

public static void main(String[] args) {//测试类

TestApp t=new TestApp();

t.app();//实现App接口1

t.bpp();//实现Bpp接口1

}

}

2.多态的使用

定义:父类的引用变量指向子类对象

格式:父类名  变量=new 子类名();

成员变量:父类的成员变量在子类中被重写时,调用成员变量时调用的是子类重写的成员变量

                  若是子类中特有成员变量,变量名.成员变量;出错了;      必须强制转换为子类才能被调用变量名   ((子类) 变量名).成员变量;

成员方法:父类的成员方法在子类中被重写时,调用成员变量时调用的是子类重写的成员方法

                 若调用子类中特有成员方法,变量名.成员方法();出错了;      必须强制转换为子类才能被调用成员方法   ((子类) 父类的引用).成员方法();

特点:成员变量:编译时看左边,运行时也看左边。(编译和运行时都看左边(即看父类成员))

           成员方法:编译时看左边(父类成员),运行时看右边(子类成员)

           静态方法:编译时看左边,运行时也看左边。

总结:编译时都看左边,运行时成员方法看右边,其他(成员方法和静态方法)都看左边。

缺点:     1.无法直接访问子类特特有成员

 优点:    1.可以提高可维护性

                 2.提高代码的扩展性

class Animai {//父类

Stringname;

void eat() {

System.out.println("动物吃饭");

}

}

class Dog extends Animai{//子类

void eat() {

System.out.println("狗吃饭");//若在子类中重写了父类方法,调用父类方法是调用的是被子类重写的方法

}

void slepp() {()

System.out.println("狗睡觉");

}

}

public class AnimalTest {

//多态:1.必须要有继承或者实现类的关系

            2. 方法的重写

            3.父类的引用指向子类的对象

    public static void main(String[] args) {

Animai a =new Dog();

a.eat();//向上转型自动      动物吃饭

        ((Dog) a).slepp();//向下转型强制   狗吃饭

    }

}

相关文章

  • 接口和多态的使用

    一.接口的使用 接口(interface):用于处理继承单一的局限性;接口中的所有方法都是抽象方法;接口与了类的关...

  • Java基础-day12-接口

    接口 1. 接口 1.1 接口使用操作 2. 多态 2.1 动物园 2.2 USB接口 2.3 多态总结

  • 《Java8学习笔记》读书笔记(八)

    第7章 接口与多态 学习目标 使用接口定义 了解接口的多态操作 利用接口枚举常数 利用enum枚举常数 7.1 ...

  • Java后端面试题归纳

    Java基础 Override、Overload和多态 多态是指使用相同的接口来应对不同的底层形式的能力,通俗的来...

  • Spring的学习

    接口和抽象类? 抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。1....

  • 接口和抽象类该如何取舍

    抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。 “面向接口编程”中...

  • 抽象类 vs 接口

    抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。

  • 接口和多态

  • C++ 接口和多态

    面向对象编程使用如上的显式接口实现运行时多态。 接口,也就是 Widget 类的方法,被显式定义出来。而多态,即 ...

  • java

    实现多态的俩种方式,继承和接口,抽象方法也是实现多态的方式。 多态:同一类型的变量使用同一种方法,表现出不同的特征...

网友评论

      本文标题:接口和多态的使用

      本文链接:https://www.haomeiwen.com/subject/jojlxqtx.html