接口,与抽象类类似但是区别也很大,他们都是标签,用来提醒父类一定要实现的类里创建抽象方法。而接口类可以implements 多个接口,抽象类则只能父类只能继承一个抽象类,与抽象不同的是它不是继承组合关系,所以无法使用super关键字来调用接口里的方法,

接口的要求:

1.接口类必须使用interface关键字创建

2.接口类的父类必须使用implements来附属接口类

3.一个父类可以implements 多个接口(而抽象类的父类只能继承一个抽象类)

4.接口的所有量都是常量,接口类里会将量自动添加static final  关键字。

5.接口里的抽象方法在使用的时候必须需要在父类中重写

6.在Java1.8的新版本中,接口可以用default关键字在接口类中实现方法。而实现的方法不需要在父类中重写

7.接口中常量的调用可以直接用接口类调用也可以实例父类后调用,但是重写的抽象方法或者实现方法不行,必须new父类后实现。

package rom;

import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.WindowConstants; public class Xamle_1 implements demo {
public void demo1() {
System.out.println("重写接口里的demo1"); }
public void demo1_2() {
System.out.println("重写接口里的demo1_2"); } public static void main(String[] args) {
Xamle_1 xamle_1 = new Xamle_1();
xamle_1.demo1(); //调用重写后的demo1方法
xamle_1.demo2(); //用new的实例类,在接口中直接调用关键字default修饰的已经实现的方法,此方法不需要重写
System.out.println("调用接口中的常量:"+demo.a);//只有常量可以不用new 一个实例类,直接用接口类调用
System.out.println("调用接口中的常量:"+xamle_1.b); //用 new的实例类调用常量b }
}
interface demo {
public void demo1() ; //在接口中可以不写abstract关键字,因为接口中的抽象方法已经默认写了abstract
abstract public void demo1_2(); //与上面对比
default void demo2() {
System.out.println("default 关键字在接口中实现方法"); }
public static final int a = 100;
public static int b = 100; //虽然没有写但是接口的常量会默认写上final,所以接口中的常量是无法修改的 }

接口详解例子代码(附Java1.8的接口新特性)的更多相关文章

  1. Java接口 详解(二)

    上一篇Java接口 详解(一)讲到了接口的基本概念.接口的使用和接口的实际应用(标准定义).我们接着来讲. 一.接口的应用—工厂设计模式(Factory) 我们先看一个范例: package com. ...

  2. Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...

  3. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  4. 深度学习之卷积神经网络(CNN)详解与代码实现(一)

    卷积神经网络(CNN)详解与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10430073.html 目 ...

  5. ReadWriteLock 接口详解

    ReadWriteLock 接口详解 这是本人阅读ReadWriteLock接口源码的注释后,写出的一篇知识分享博客 读写锁的成分是什么? 读锁 Lock readLock(); 只要没有写锁,读锁可 ...

  6. JDBC常用接口详解

    JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...

  7. Python - 元组(tuple) 详解 及 代码

    元组(tuple) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17290967 元组是存放任意元素集合,不能修 ...

  8. Python - 字典(dict) 详解 及 代码

    字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...

  9. C#的String.Split 分割字符串用法详解的代码

    代码期间,把代码过程经常用的内容做个珍藏,下边代码是关于C#的String.Split 分割字符串用法详解的代码,应该对码农们有些用途. 1) public string[] Split(params ...

随机推荐

  1. SQL 更新修改删除一个表,库存自动增减的写法

    create trigger tri_asbon asb for insert as begin declare @rk int declare @ck int declare @sid varcha ...

  2. mac 蓝牙开启调试模式

    mac 蓝牙开启调试模式 按住shift+option+鼠标右键点右上角的蓝牙图标

  3. 黄聪:在.NET中使用GeckoFX 29

    GeckoFX is a .NET control, that works similarly to “System.Windows.Forms.WebBrowser” Control, while ...

  4. js copy数组 对象

    js copy数组 slice  concat  浅拷贝 copy 对象 Object.assign({},obj);  es6 ie要用babel转 暴力copy 用JSON.parse(JSON. ...

  5. 树莓派Raspberry Pi zero w无线联网实测

    第一次学习树莓派,使用的是Raspberry Pi zero w的型号. 刚开始,就只有一块板子!!!这要怎么开发啊 经过网上查阅资料,发现可以通过WiFi连接PC端实现开发测试 准备材料:一根USB ...

  6. 关于 TensorFlow

    TensorFlow 是一个用于人工智能的开源神器 TensorFlow中文社区    http://www.tensorfly.cn/   文档 TensorFlow™ 是一个采用数据流图(data ...

  7. 【Centos7裁剪】

    #!/bin/sh rootdir=`pwd` rm -rf ${rootdir}/centos* KERNEL_DIR=${rootdir}/kernel ROOTFS_DIR=${rootdir} ...

  8. live555源码学习笔记之TaskScheduler

    今天抽空研究了下live555的任务实现: TaskScheduler分为三种任务:socket handler,event handler,delay task.这三种任务的特点是,前两个加入执行队 ...

  9. visual studio中新建和使用dll

    本文的目的是 创建一个最小化的dll并使用它 环境:win7 + vs2012 一个VS的解决方案(sln)下面可以有多个项目(project),所以这里新建一个解决方案,然后下面创建两个项目. 新建 ...

  10. HTML代码优化中SEO要注意哪些细节

    本文来源于学业无忧网,转载请保留:http://www.ixywy.com/ 这段时间,我们翻阅了一些同行撰写的书.其中,几乎每本书都存在问题.这个肯定在所难免,但是作为一名职业的SEO更应该注意一些 ...