Java14-java语法基础(十三)接口
Java14-java语法基础(十三)接口
一、接口
1、接口的作用
Java出于安全性、简化程序结构的考虑,不支持多继承而仅支持单继承。然而实际问题中很多情况下仅仅依靠单继承并不能将复杂的问题描述清楚。为了使Java程序的类层次更加合理,更符合实际问题的本质,Java语言提供接口来实现多重继承。
2、接口的定义及实现
1)接口的定义
接口是java中最重要的概念之一,他是一个用interface关键字定义的特殊类,也称为接口类型。用于描述系统对外提供的所有服务,但不包含具体实现。
[修饰符] interface 接口名 [extends 父接口名列表]{
静态常量数据成员声明; //用static和final修饰
抽象方法声明; //用abstract修饰
}
强调:
(1)接口没有构造方法
(2)接口中声明的方法默认都是抽象的
(3)接口中声明的成员默认都是static、final
2)接口的实现
[修饰符] class 类名 implement 接口列表{
成员变量;
成员方法;
}
强调:
(1)一个类可以有多个接口
(2)如果一个类实现了某个接口,就必须实现该类中的所有抽象方法
3、接口与接口,接口与类之间的关系
(1)接口可以多继承多个接口
Interface A extends B,c{}
(2)类可以实现多个接口
class A implements B,C{}
(3)类继承类实现接口
class A extends B implements C {}
4、多重继承实现案例
照相和上网功能,但不同的手机采用的技术不同。因此定义功能接口用来制定统一标准,而具体的实现由手机生产厂商来完成,它们的类结构如图所示。实现多重继承的类结构模型图如下:
5、小结
1)实现接口要注意哪些问题?
(1)如果抽象类实现接口,则可以不实现接口中的抽象方法;
(2)如果普通类实现接口,则要实现接口中的所有抽象方法;
(3)当引用接口的了,类中方法多余所实现的接口的方法,不要用接口创建引用,因为用接口创建的引用不能引用其实现类自己的独立的方法。
2、Java如何实现多重继承?
通过子类继承父类,同时实现多个接口来实现多重继承。
Java14-java语法基础(十三)接口的更多相关文章
- Java语法基础(1)
Java语法基础(1) 1. Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...
- Java语法基础学习DayTwenty(反射机制续)
一.Java动态代理 1.代理设计模式的原理 使用一个代理将对象包装起来, 然后用该代理对象取代原始对象. 任何对原始对象的调用都要通过代理. 代理对象决定是否以及何时将方法调用转到原始对象上. 2. ...
- java语法基础(一)
这个是自己前两年做java视频教程时候的课件.感兴趣的同学可以参考下. 这里是纯粹的语法行总结. editplus的使用 选择项目目录 打开editplus 左侧目录导航栏 可以打开盘符,文件夹 可以 ...
- java语法基础
Java的基本符号(token) Java的单词符号有五种:关键字.标识符.常量.分隔符和操作符. Java的字符集 Java 采用一种称为unicode的字符集,该字符集合是一种新的编码标准,与常见 ...
- Java语法基础(一)----关键字、标识符、常量、变量
一.关键字: 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符: 标识符:就是给类,接口,方 ...
- java语法基础(总结)
1,关键字:其实就是某种语言赋予了特殊含义的单词. 保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词. 2,标示符:其实就是在程序中自定义的名词.比如类名,变量名,函数名.包含 0-9. ...
- Java语法基础常见疑惑解答
1. 类是java的最小单位,java的程序必须在类中才能运行 2. java函数加不加static有何不同 java中声明为static的方法称为静态方法或类方法.静态方法可以直接调用静态方法,访问 ...
- Java语法基础学习DaySeven
---恢复内容开始--- 一.包装类——Wrapper 1.定义:针对八种基本数据类型定义相应的引用类型——包装类(封装类) boolean——Boolean byte——Byte ...
- Java语法基础学习DaySix
一.JavaBean——可重用组件 1.JavaBean是指符合以下标准的Java类: (1)类是公共的 (2)有一个无参的公共的构造器 (3)有属性,且有对应的get.set方法 2.好处 用户可以 ...
- Java语法基础动手动脑
仔细阅读示例:EnumTest.Java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗? EnumTest.java public class EnumTest { pub ...
随机推荐
- 集合总结四(LinkedHashMap的实现原理)
一.概述 按照惯例,先看一下源码里的第一段注释: Hash table and linked list implementation of the Map interface, with predic ...
- 1.1.20 Word不能保存问题
1.进入如下目录:C:\用户(user)\Administrator\AppData\Roaming\Microsoft\Templates 2.找到Normal和NormalOld的两个文件,删除. ...
- C# datagridview大小跟随窗口动态改变(转)
在C#中使用winform布局的时候,拖一个datagridview到窗体上面,将datagridview调整为适合窗体的大小. 但是运行之后,点击最大化按钮的时候,发现datagridview的大小 ...
- Spring Boot使用单元测试
一.Service层单元测试: 代码如下: package com.dudu.service;import com.dudu.domain.LearnResource;import org.junit ...
- windows shell命令相关
一 系统自带的命令 1 创建文件夹 mkdir 文件夹名 2 强制删除文件夹 rd/s/q 文件夹名 3 强制删除文件 del/f/s/q 文件名 4 移动文件到文件夹 move 文件名 文件夹名 二 ...
- 刘志梅201771010115.《面向对象程序设计(java)》第三周学习总结
实验三 Java基本程序设计(2) 实验时间 2018-9-13 1.实验目的与要求 (1)进一步掌握Eclipse集成开发环境下java程序开发基本步骤: (2)熟悉PTA平台线上测试环境: (3) ...
- kubernetes学习笔记之七: Ingress-nginx 部署使用
一.Ingress 简介 在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的.为了使外部的应用能够访问集群内的服务,在Kubernetes 目前 提供 ...
- 一针见血tomcat
一针见血tomcat 一.Tomcat各组件认知 1 Tomcat架构说明 Tomcat是一个基于JAVA的WEB容器,其实现了JAVA EE中的 Servlet 与 jsp 规范,与Nginx ap ...
- final关键字特点
一.final关键字修饰的类 无法被继承(即不能有子类) 二.final关键字修饰的方法不能被重写 三.final关键字修饰的变量成为常量(即不允许被修改) 开发中经常使用
- wheel
http://guoqiao.me/post/2015/1212-pip-install-offline-via-wheels python wheel -r requirements.txt 下载 ...