JAVA多态学习4

原创 2015年07月07日 18:28:51

好啦,说好的这一节要开讲接口了,嘿嘿,还是老样子,读者最好借助之前说的抽象类进行比较喔O(∩_∩)O哈哈~

什么是接口?
接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。

接口的建立语法:interface 接口名{方法;}
语法:class 类名 implements 接口{
        方法;
        变量;
    }

小结:接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低偶合的设计思想。

接口–注意事项
1、接口不能被实例化
2、接口中所有的方法都不能有主体。错误语法例:void aaa(){}←(注意不能有花括号)
接口可以看作更加抽象的抽象类。
3、一个类可以实现多个接口
4、接口中可以有变量[但变量不能用private和protected修饰]
a、接口中的变量,本质上都是static的而且是final类型的,不管你加 不加static修饰
b、在java开发中,我们经常把常用的变量,定义在接口中,作为全局变量使用
访问形式:接口名.变量名
5、一个接口不能继承其它的类,但是可以继承别的接口

好啦,长气了,现在我们给个例子,说一下接口的应用

package interfacekak;

//Mouth接口
//interface Mouth extends Base{       //错误,接口只能继承于接口,而不能继承与类
interface Mouth extends cell{
    int a=1;//加不加static都是静态的,不能用private和protected修饰
    //声明了两个方法
    public void eat();//嘴巴吃
    public void drink();//嘴巴喝
    /*public void sing()                //出错,
    {
        System.out.println("大家一起唱..");
    };//嘴巴唱
    */
}
//编写了一个狗类,并实现了Mouth接口
//一个重要的原则:当一个类实现了一个接口,要求该类把这个接口的所有方法全部实现
class Dog implements Mouth{
    public void eat(){
        System.out.println("狗要吃东西..");
    }
    public void drink(){
        System.out.println("狗要喝东西..");
    }
}
//接口继承别的接口
class Base{
}

interface cell{
}

//编写了一个猫类,并实现了Mouth接口
class Cat implements Mouth{
    public void eat(){
        System.out.println("猫要吃东西..");
    }
    public void drink(){
        System.out.println("猫要喝水..");
    }
}
//动物类
class Animal{
    //开始使用Mouth接口
    public void activity(Mouth mouth){
        mouth.eat();
        mouth.drink();
    }
}

public class Interfacekak {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //Mouth.a++;   //a为static,不能改值
        System.out.println(Mouth.a);
        //创建 animal
        Animal animal=new Animal();
        //创建dog
        Dog dog1=new Dog();
        //创建cat
        Cat cat1=new Cat();
        System.out.println(Dog.a);   //可以类可以访问接口的变量
        animal.activity(dog1);
        animal.activity(cat1);


    }

}

结果截图
接口

1、实现接口可以看作是对继承的一种补充。(继承是层级式的,不太灵活。修改某个类就会打破继承的平衡,而接口就没有这样的麻烦,因为它只针对实现接口的类才起作用)
2、实现接口可在不打破继承关系的前提下,对某个类功能扩展,非常灵活。

ps:说好的和抽象类的对比呢?

大哥,能不能注意一下我这两篇,抽象类和接口所说的注意事项,比较一下就好,师傅带进门,修行靠个人啊。。。。

还不够的话,介绍一下别人大神的网址,大家去参观一下吧,小神庙小啊,逃%>_<%
《抽象类与接口的区别 》
http://blog.csdn.net/ttgjz/article/details/2960451

相关文章推荐

Java 学习课件,继承和多态

  • 2014年08月24日 22:08
  • 761KB
  • 下载

黑马程序员_JAVA笔记08——面向对象4(多态)

------- android培训、java培训、期待与您交流! ---------- 1、多态:可以理解为事物存在的多种体现形态。       人:男人、女人       ...

初识JAVA4(抽象类、接口、多态)

11抽象类、接口、多态、instanceof(上) 1)abstract抽象类。 被其修饰的方法叫抽象方法,类叫抽象类,抽象类不能实例化,它不是具体的类。 抽象方法只有方法的声明,而没有实现的方法...
  • Ri8ren
  • Ri8ren
  • 2015年08月29日 21:09
  • 255

黑马程序员 08 Java基础教学 - 08 - 面向对象(4) 之 多态

-------android培训、java培训、期待与您交流! ---------- 本日志doc文档下载 一、多态 1、多态的体现 父类的引用指向了自己的子类对象 2、多态的前...

【慕课笔记】U4 多态 第4节 JAVA中的接口

第4节 JAVA中的借接口 1、接口概念 接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成。 类是一种具体实现体,而接口定义了一些某一批类所需要遵守的规范,接口不关心这些类的内部数据,...
  • yxt_y
  • yxt_y
  • 2016年02月12日 01:45
  • 218

Java初学(五)——J2SE之面向对象编程4(多态、抽象类)

Java初学(四)——J2SE之面向对象编程3

#4JAVA面向对象-多态#

学习目标:多态概念 重写重载 子父类转换 博主理解:方法的多态,重写重载,对象的多态性, 子父类的转换 需要注意的是重载重写都是执行子类执行父类的方法同样的方法,和子父类的转换,减少代码复...

Java基础之面向对象的多态和接口(4)续

本篇是作为第四篇多态与接口出现的续篇,由于在第四篇篇幅感觉较大,因此以本篇作为扩展和延伸。 在java设计模式中,处处都蕴含着面向对象的基本思想和概念,如果没有基本的java程序设计经验,和很深的面...

4. Java 2 SE 方法重写 & 多态

1. 方法重写(Override):子类与父类的方法返回类型一样、方法名称一样,参数一样,这样子类和父类的方法构成了重写关系。 方法重写与方法重载的关系: 重载发生在同一个类的内部的两个或...
  • dodohui
  • dodohui
  • 2014年04月27日 13:07
  • 470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA多态学习4
举报原因:
原因补充:

(最多只允许输入30个字)