Java基础课——interface的理解

原创 2015年07月11日 10:47:19

Java基础课——interface的理解

复习了一下Java里interface的用法,又看了一遍马士兵老师的讲interface的视频,加深了一下理解。关键的几个知识点是这几个

-本质上就是特殊的抽象类,只包含常量和方法的定义,不包含变量和方法的实现
-常量只能是static final (为了避免C++中多继承带来的问题,定义成static final后这个常量就脱离于接口而存在),方法只能是public的,且一定是抽象方法
-与继承一样会有多台的存在
-可以继承其他的接口,添加新属性和新的抽象方法

最简单的接口:

public interface Singer{

    public static final int count = 1;

    public void sing();
    public void sleep();
}

接口的多态:

public class Test{
    public static void main(String args[]){

        //Student实现了singer接口,重写了其中的方法
        //singer只能看到Student里sing和sleep方法
        Singer singer = new Student("小明");

        //这里形成了多态,输出的是Student里重写的方法
        singer.sing(); //输出的是"小明"

        //Teacher实现了Singer和Painter两个接口
        singer singer2 = new Teacher("都都");

        //同上,这里输出了Teacher里重写的方法
        singer2.sing();
        singer2.sleep();

        //将singer2看做Painter来用
        Painter p1 = (Painter)singer2;
        singer2.draw();

        //依然可以形成多态
        method(Singer singer){
            singer.sing();
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

我的java基础知识总结ppt

昨天加上今天,我把java基础知识总结的ppt做好了,其中包括: 1基础阶段所有项目展示 2.阶段自我总结,自己的提升和不足 3.后期学习规划 我在ppt里面把几个有代表性项目展示了出...
  • jjfly999
  • jjfly999
  • 2016年03月21日 17:08
  • 2509

JAVA语言程序设计(基础篇)第九章答案

习题9.1 public class SimpleRectangle { double width; double height; SimpleRectangle(){ width = 1;...
  • zhenkeshawn
  • zhenkeshawn
  • 2017年03月06日 23:48
  • 1965

Java语言程序设计基础篇原书第十版第六章编程练习题答案

第六章 方法的部分代码,会尽快补全
  • Tanganling
  • Tanganling
  • 2016年11月27日 20:25
  • 3592

JAVA基础课设——随机组卷系统

JAVA基础课设——随机组卷系统 (第一次手撸课设,不喜勿喷) 要求:卷子内容可以任意专业内容,四项单选题;数据源为50题,随机选择30题打印;要求每套题生成后,要方便打印;使用外部数据,JDBC...
  • wjl18339711983
  • wjl18339711983
  • 2018年01月11日 11:10
  • 12

Java基础课——File类的使用

Java基础课——File类的使用项目里需要用到File类,趁此复习了一下File的基本用法:创建、删除、复制、重命名······· 总的来说,File类既可以看做目标,也可以看做是一个文件,具体参...
  • as645788
  • as645788
  • 2015年07月14日 22:20
  • 404

听程序设计基础课感受——要利用好课堂

近日集中了解了每一位计125班同学的近况,当然,学习情况是主要内容。  不少同学反映不习惯L老师的课。同事十多年,我还真是没有听过L老师的课,但知道他的认真,也听说了他教学和专业功底的深厚。我问了一名...
  • sxhelijian
  • sxhelijian
  • 2013年03月25日 10:50
  • 2955

2014.10.17--Java基础课第四天学习总结

5人分鱼问题 打印1-100之间的素数
  • hechaomxjava
  • hechaomxjava
  • 2014年10月17日 21:23
  • 212

java面向对象基础课(继承,方法重写),图形界面=0912号

学习报告 1、什么是重写?用什么方法可以强制检测当前方法是否重写父类方法? 解答: l  重写发生在父类与子类之间,子类的方法名和父类相同,参数列相同,返回类型也相同。当对子类对象进行方法调用时...
  • smile__tiger
  • smile__tiger
  • 2016年09月16日 21:53
  • 450

JAVA基础课总结八

 一、多态    A:对象在不同时刻表现出来的不同的状态      B:多态前提  a:要有继承关系。 b:要有方法重写。 c:要有父类引用指向子类对象。    在多态的时候,父类...
  • lliuzhiyongg
  • lliuzhiyongg
  • 2015年11月18日 23:33
  • 163

Java基础课时1

Java 编程语言是个简单、完全面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的编程语言,Java可以撰写跨平台应用软件。 1.环境搭建 首先查看自己系统...
  • gujunqi2013
  • gujunqi2013
  • 2015年01月05日 09:45
  • 252
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础课——interface的理解
举报原因:
原因补充:

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