Azure╰

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

1.多态(一种现象)

继承是多态的实现基础

 多态:即对象的多种形态

1.引用多态

  父类的引用可以指向本类对象

  父类的引用可以指向子类对象

这就是引用多态

2.方法多态

 创建本类对象时,调用的方法为本来的方法

创建子类对象时,调用的方法为子类重写的方法或继承的方法

 

二.接口

什么是接口呢???

接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成

如果说类是一种具体实现体,那么接口就是某些类所要遵循的规范,接口只是一种规范,不关心类的内部数据和方法实现的细节,它只规定类中必须有什么东西,是用来约束类的。用interface关键字定义接口

要注意的是接口一般都是用来被继承,被实现的。修饰符一般用public,不用protected和private修饰接口

接口中全是常量和抽象方法

问题来了,怎么去使用接口呢??

一个类可以实现一个或多个接口,实现接口使用implements 关键字。。。我们知道Java中一个类只能继承一个父类,这样是不是很不灵活,那么就可以通过接口进行补充

这里需要 注意的是继承和接口的实现顺序是不能互换的,也就是必须先继承再实现接口,还有就是实现接口时,同样也要实现接口里的方法

下面看一个接口实现的例子

//接口
package ClassDemo1;

public interface IWatch {
    public void watch();

}




//Woker类
package ClassDemo1;

public class Woker implements IWatch{

    @Override
    public void watch() {
        System.out.println("我们都有一双明亮的眼睛");
        
    }
    
    
}


//Student类
package ClassDemo1;

public class Student extends Person implements IWatch{

    public void say() {
        System.out.println("学生会说不同的语言");
    }
    public void watch()
    {
        System.out.println("我们也有一双明亮的眼睛");
    }
}


//测试类、
package ClassDemo1;

public class Main {

    public static void main(String[] args) {

        IWatch i=new Woker();   //用接口引用指向实现接口的对象
        IWatch j=new Student(); 
        i.watch();
        j.watch();
    }

}
View Code

另外附上测试结果

 

posted on 2018-11-18 14:47  Azure╰  阅读(175)  评论(0编辑  收藏  举报