接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称

接口里的属性,必须是公共的/默认的&静态的&Final&初始化后的属性;

接口里所有方法都是抽象的。

接口和继承---先天有的用继承,后天学习的用接口;

接口特性--------

1.接口不可以被实例化;

2.实现类必须实现接口中所有方法,否则实现类必须是抽象类

3.实现类可以实现多个接口,来弥补Java不能多继承;

4.接口中的变量都是静态常量;(静态的-可以通过类的名字点-直接调用;)

-------------------------------------------------------------------------------------------------------

用程序描述USB接口:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

接口是一种规范,体现在接口名称和注释上;

有些接口只有名字;方法的实现方式要通过注释来约定;

接口的优点:

1.可以被多继承;

2.设计与实现完全分离;

3.更自然的使用多态;

4.更容易搭建程序框架;

5.更容易更换实现;

接口与继承的区别;继承可以减少代码,而接口中都是抽象的;

接口与抽象类的区别:

1.本质区别:关键字不同;一个是class,另一个是interface;一个是类,一个是规范;

2.接口可继承接口,并可多继承接口,但类只能单根继承;

3.接口中只能做方法的声明,抽象类中既可以进行方法的声明,也可以做方法实现;

4.抽象类能保证实现的层次关系,而接口则是能够更有效的分离行为与实现;

补充:常量的使用:提供方便;

匿名实现类;(接口和抽象类也可以使用)

接口的使用-----------------------

总结:

1.接口只能是公开的,抽象的;

2.属性只有公共静态&最终被允许

3.只有公共的,抽象的,默认情况下,静态和strictfp是允许的

例子如下:

1.

2.接口可以继承多个接口:

3.属性和方法的定义--

注意:

1.静态常量一般是大写,所有字母都是大写

2.JDK1.8新特性:接口中可以有带方法体的静态方法

补充:

时间: 2024-07-31 10:40:17

接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称的相关文章

JDK1.8新特性(二): Lambda表达式 (参数列表) -> { } 和函数式接口@FunctionalInterface

Lambda表达式 二:简介 JDK的升级的目的有以下几个:增加新的功能.修复bug.性能优化.简化代码等几个方面,Lambda表达式就是属于简化代码,用于简化匿名实现类,提供一种更加简洁的写法.Lambda表达式在Swift语言中称之为代码块,Lambda表达式可以认为是一种特殊的接口,该接口必须只有一个抽象方法. 语法 (参数类型 参数名, 数参数类型 参数名2...) -> { // code }; 小括号()中的内容就是方法中的参数列表包括参数类型.参数名,其中参数类型是可以省略的,当参

JDK1.8新特性——Collector接口和Collectors工具类

JDK1.8新特性——Collector接口和Collectors工具类 摘要:本文主要学习了在Java1.8中新增的Collector接口和Collectors工具类,以及使用它们在处理集合时的改进和优化. 部分内容来自以下博客: https://www.jianshu.com/p/7eaa0969b424 流式处理 JDK1.8中新增的流式处理提供了一种高效且易于使用的处理数据的方式,它可以对集合执行非常复杂的查找.过滤和映射数据等操作,极大的简化了对于集合的使用.借助流式处理,可以像使用S

jdk1.8新特性 : 接口中可以有普通方法(非静态方法)和静态方法 , 颠覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,后面必须要加一句jdk1.7和1..7之前

看到jdk某些接口中存在default方法,于是... http://shaomeng95.iteye.com/blog/998820    为什么接口只能是公有常量? public interface Jdk8新特性 { public static final String AA = "hhe"; default void test(){ System.out.println("哈哈"); } public static void hehe(){ System.o

python3 类的属性、方法、封装、继承及小实例

Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法. 对象可以包含任意数量和类型的数据. python类与c++类相似,提供了类的封装,继承.多继承,构造函数.析构函数. 在python3中,所有类最顶层父类都是object类,与java类似,如果定义类的时候没有写出父类,则object类就是其直接父类. 类定义 类定义语法格式如下: class ClassName:    <statem

jdk1.8新特性之接口default方法

众所周知,default是java的关键字之一,使用场景是配合switch关键字用于条件分支的默认项.但自从java的jdk1.8横空出世以后,它就被赋予了另一项很酷的能力--在接口中定义非抽象方法. 众所周知,java的接口只能定义静态且不可变的常量或者公共抽象方法,不可能定义非抽象的具体方法.但自从jdk1.8横空出世以后,它就被default关键字赋予了另一项很酷的能力--在接口中定义非抽象方法.好了不废话了,看具体例子吧: 1.父接口Iterable,定义了两个default方法forE

jdk1.8新特性Lambda表达式方法引用

前言 在之前我们接触了JDK1.8引入的新特新lambda表达式没在某种程度上,它可以简化我们的代码,帮助我们快速的编写代码,但在这其中我们之前的编写方式并不是lambda表达式最简洁的方式,而在头屑情况下我们可以使用lambda表达式的方法引用是代码进一步简洁化. 一.方法引用: 在java中方法引用主要是用来替代lambda表达式进一步简化代码,方法引用符号的写法是两个冒号“::”,其中方法引用的用法有一下几种. 1.对象名称::成员方法 如果一个对象中有一个成员方法,就好就是lambda表

Java 接口 新特性(Java8)

Java8新特性之接口增强 在Java7以及以前的版本中,接口里的方法都是抽象的,并且不存在静态方法,属性默认修饰符是public static final.所有方法的声明都是public [返回类型] [方法名](参数列表) [throws 异常列表]. 而在Java8定义的接口中存在2种有具体实现的方法,分别如下: 1 static 可以有静态方法:public static  [返回类型] [方法名](参数列表) [throws 异常列表] Java中可以实现多个接口,如果2个接口存在相同

XML DOM -属性和方法

XML DOM - 属性和方法 属性和方法向 XML DOM 定义了编程接口. 编程接口 DOM 把 XML 模拟为一系列节点对象.可通过 JavaScript 或其他编程语言来访问节点.在本教程中,我们使用 JavaScript. 对 DOM 的编程接口是通过一套标准的属性和方法来定义的. 属性经常按照"某事物是什么"的方式来使用(例如节点名是 "book"). 方法经常按照"对某事物做什么"的方式来使用(例如删除 "book&quo

解决Table不继承父节点的属性的方法

解决Table不继承父节点的属性的方法 发现table不继承父节点的属性. 解决方法:给html文件加上<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > 就能继承了. 原文地址:https://www.cnblogs.com/bjguanmu/p/10120669.html