java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)

java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)作者:王可利(Star·星星)

接口(功能:用来添加拓展功能的

例子:铅笔、带橡皮檫的铅笔。

两个功能:

    1.写字......> 铅笔

    2.擦字......> 橡皮擦

想法:定义一个铅笔类,定义一个橡皮擦类,定义一个带橡皮擦的铅笔类继承 铅笔类和橡皮擦类

但是java是单继承的。于是就有了解决的方法:接口(可以添加拓展功能)

如:一个铅笔类,给它添加一个接口给它一个拓展类(橡皮擦类)

接口的定义模式

用 interface 关键字来表示接口

结构: interface 接口名{};

如何实现完成接口方法:

结构:

class   类名  implements  接口名1,接口名2,接口名3.....{

}

接口的作用:

1.可以拓展功能

    2.可以让程序解耦

       解耦:类 和 接口没有太大的关联,不实现这个接口这个类一样独立存在,如果这个类不实现这个接口,就完全不需要这些接口。

               又好比说:一个 Student 类继承 Person类,Student 没有Person 不能独立存在。

               所以 类 和 接口 就是一个解耦的过程,框架会经常用到。

    3.可以定于约束

        一个项目不止一个人来完成,有很多栏目。如:网易新闻 每天的头条 都会 有 增 删 改 查。每个人的方法是不一样,换一个人维护的话可能方法都变了.所以就需要定于一个大家都一样的方法来约束。规则就是一样的了。

接口使用注意事项:

    1.接口是一个特殊的类,是可以定义属性方法的。

    2.接口里面的属性默认是用final来修饰的。实际是一个常量:public  static final int a = 10;

    3.接口里面的方法都是抽象的:abstract public void  run(){}

    4.接口是没有构造方法的。也不能创建对象。

    5.接口是给类去实现的,非抽象类实现接口时,必须将接口中的方法都实现。

    6.一个抽象类实现接口,可以不实现接口中的方法,但是继承于它的子类必须实现接口中的方法。

    7.接口和接口之间是继承关系,一个接口是可以继承多个接口的。格式和普通类一样 用  interface A  extends  B,C...

 1 package study;
 2
 3 //定义一个擦字的接口
 4 interface Easer{
 5     //定义方法 擦字
 6     //定义在接口中的方法是不需要实现的,接口中的方法都叫抽象方法
 7     public void clear();//默认是用abstract来修饰的方法
 8 }
 9 interface Pencil{
10     public void write();
11 }
12
13 class EraserAndPencil implements Pencil,Easer{
14     //如果一个类实现了一个接口,那么这个类里面必须实现这个接口里面的所以方法。
15     public void write(){
16         System.out.println("铅笔可以写字");
17     }
18     //java中是可以实现多个接口的
19     public void clear(){
20         System.out.println("铅笔擦可以擦字");
21     }
22 }
23
24 public class star {
25     public static void main(String[] args) {
26         EraserAndPencil star = new EraserAndPencil();
27         star.write();
28         star.clear();
29     }
30 }
时间: 2024-10-13 23:57:25

java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)的相关文章

java基础(11):接口、多态

1. 接口 1.1 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. 1.2 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件.这

JDK1.8 java.io.Serializable接口详解

java.io.Serializable接口是一个标志性接口,在接口内部没有定义任何属性与方法.只是用于标识此接口的实现类可以被序列化与反序列化.但是它的奥秘并非像它表现的这样简单.现在从以下几个问题入手来考虑. 希望对象的某些属性不参与序列化应该怎么处理? 对象序列化之后,如果类的属性发生了增减那么反序列化时会有什么影响呢? 如果父类没有实现java.io.Serializable接口,子类实现了此接口,那么父类中的属性能被序列化吗? serialVersionUID属性是做什么用的?必须申明

Java 之 序列化接口

一.java.io.Serializable 接口 类通过实现 java.io.Serializable 接口以启用其序列化功能,未实现此接口的类型将无法使其任何状态序列化或反序列化. 可序列化类的所有子类型本身都是可序列化的. 序列化接口没有方法或字段,仅用于标识可序列化的语义. 如果实现 Serializable 接口,对象如何序列化,各个属性序列化的顺序是什么,都是默认的,程序员本身无法指定,也不用关心. 如果属性前面有  static 和 transient 修饰,该属性不参与序列化.

Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)

一.学习ArrayList与Map时,关于常用遍历方法的记录如下:  二.附源码如下: package com.study.in.myself; import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map; public class Study16 { public static void main (String

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study

JavaSE入门学习20:Java面向对象之接口(interface)

一Java接口 接口(英文:interface)是抽象方法和常量值的集合,在Java编程语言中是一个抽象类型,接口通常以interface来声 明.类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些 类里方法的实现细节,它只规定这些类里必须提供某些方法.一个类或接口通过继承接口的方式,从而来继承接口的 抽象方法. 接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念.类描述对象的属性和方法.接口则包含 类要实现的方法.除非实现接口的类是抽

C#学习笔记(17)——C#中接口的作用

说明(2017-7-17 23:50:48): 原文: 接口的作用 接口的作用(C#)(另一篇) C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比盖茨还聪明的人,他们的C#能添这样的多足吗?!关于接口的作用,网上有一位就真的深入浅出给我们做了很好理解的分析. 我们定

Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)

Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.堆.方法区.常量池) 以上就是Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.堆.方法区.常量池)的全部内容了,更多内容请关注:CPP学习网_CPP大学 本文固定链接:CPP学习网_CPP大学-Eclipse中的快捷键快速生成常用代码(例如无参.带参构造,set.get方法),以及Java中重要的内存分析(栈.

Java集合Map接口与Map.Entry学习

Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像.如果该关键字已经存在,那么与此关键字相关的新值将取代旧值.方法返回关键字的旧值,如果关键字原先并不存在,则返回null Object remove(Object