extends和implements区别-Android学习笔记

来源:互联网 发布:淘宝买电视没有合格证 编辑:程序博客网 时间:2024/06/11 20:39

    implements 是实现父类和子类之间继承关系的关键字,如类 A 继承 类 B 写成 class A implements B{}. implements继承的是接口,是用来实现接口中定义的抽象方法。比如:people是一个接口,他里面有say这个方法。public interface people(){ public say();}但是接口没有方法体。只能通过一个具体的类去实现其中的方法体。比如chinese这个类,就实现了people这个接口。 public class chinese implements people{ public say() {System.out.println("你好!");}} 

   implements与Extends的不同在于,extends可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。implements实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。

    这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。

 若同时用到 extends 和 implements 的时候,extends 必须放在 implements 关键字之前。如 : class A extends B implements C.

    interface和implements程序实例如下:

   

package com.sadhu;import java.util.*;/**接口接口中不能有字段所有的方法都是公共的可以定义常量接口是多继承的,一个类可以继承多个接口。接口中不能有实现的方法。可以认为是纯的抽象类。接口不能被实例化,但是可以声明一个接口类型的变量*/public class Sample{    public static void main(String[] args)throws Exception    {        Student[] stu = new Student[]        {            new Student(18),            new Student(15),            new Student(30)        };        Arrays.sort(stu);//对自定义类数组进行排序,必须得实现Comparable接口        for(Student item : stu)        {            System.out.println(item.getAge());        }    }}class Student implements Comparable<Student>//实现接口 5.0中改版的泛型接口{    private int age;    public int getAge()    {        return age;    }    public void setAge(int age)    {        this.age = age;    }    public Student(int age)    {        this.age = age;    }    public int compareTo(Student other)    {        if(this.age < other.age)        {            return -1;        }        if(this.age > other.age)        {            return 1;        }        return 0;    }}interface MyInterface extends Comparable<MyInterface>//继承接口{     int MAXCOUNT = 10;//自动的加上public final修饰     double get();//自动加上public}/**输出结果:151830*/


    转载地址:http://blog.csdn.net/sunnytina/article/details/6448408;

                   http://my.oschina.net/Sadhu/blog/294373

   


0 0
原创粉丝点击