java接口----继承(实现)方法
- 文中“实现”一词特指接口的继承。
- 一个类实现多个接口时,不能出现同名的默认方法。
- 一个类既要实现接口又要继承抽象类,先继承后实现。
- 一个抽象类可以继承多个接口(implements),一个接口却不可以继承抽象类,一个接口可以用(extends)继承多个接口。
- 接口中默认方法加default,抽象方法abstract可省略,数据成员必须赋初值,final可省略。
- 接口的作用是制定标准,一个各方都需要遵守的守则。
- 为了使客户端简化(不列出所有的对象供选择),取得接口實例對象,优先采用工廠模式。
public class test1 {
public static void main(String[] args)
{ Fruit a = Factory1.getInstance("apple");
a.eat();
}}
interface Fruit
{
public void eat();
}
class Apple implements Fruit
{
public void eat()
{
System.out.println("吃苹果");
}
}
class Orange implements Fruit
{
public void eat()
{
System.out.println("吃橘子");
}
}
class Factory1 //取得fruit类的实例对象
{
public static Fruit getInstance(String classname)
{
if("apple".equals(classname))
return new Apple();
if("Orange".equals(classname))
return new Orange();
return null;
}
}
此时的程序,客户端(main方法)没有和具体的子类耦合在一起,如果有更多的Friut子类接口出现只需要修改factory类即可,所有接口对象都通过factory类取得,在开发中
只要遇到取得接口对象实例的操作都应该采用工厂设计模式。
java接口----继承(实现)方法的更多相关文章
- C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 ) 一个家庭 相当于 一个空间,这个空间里 有 很多元素,比如 爱,爱这个抽象事物,可能有很多动作,接吻.交流,对于一 ...
- 教你在Java接口中定义方法
基本上所有的Java教程都会告诉我们Java接口的方法都是public.abstract类型的,没有方法体的. 但是在JDK8里面,你是可以突破这个界限的哦. 假设我们现在有一个接口:TimeClie ...
- JAVA中继承时方法的重载(overload)与重写/覆写(override)
JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...
- Java:接口继承接口 (多继承机制)
在看API文档时,突然发现一个接口可以是其他接口的子接口,这说明接口之间会存在继承的关系.查找了相关的资料,做一个总结. 是继承还是实现 首先要搞清楚接口之间的关系使用的关键字是extends还是im ...
- 实现继承+接口继承+虚方法+隐藏方法+this/base+抽象类+密封类/方法+修饰符
概念: 在上一节课中学习了如何定义类,用类当做模板来声明我们的数据. 很多类中有相似的数据,比如在一个游戏中,有Boss类,小怪类Enemy,这些类他们有很多相同的属性,也有不同的,这个时候我们可以使 ...
- Java接口中的方法
接口中可以含有变量和方法.但是,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法 ...
- JAVA接口继承、抽象类等
1.定义接口 package test.intefaces; public interface TestIntefaceA { void testA(); void testB(); void tes ...
- Java接口继承
Java中接口可以继承接口,并且可以多继承.
- java 接口 继承 接口 抽象类 继承 实体类
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 接口 可以 继承 接口 抽象类 可以 实现 接口 抽象类 继承实体类 需要 实体类 有 ...
随机推荐
- 基于gmap.net制作离线地图下载器
网上已有大量文章介绍gamp.net和离线下载相关的文章了.我就不在介绍gmap相关的文章了,这里着重介绍一下下载相关原理.其实gmap.net本身已自带下载工能,只是离线图片下载到sqlit中,现将 ...
- 高性能javascript笔记
----------------------------------------------------------- 第一章 加载和执行 ------------------------------ ...
- 4.3 lambda表达式
函数,封装的代码块可以很复杂,也可以很简单.当函数的代码块简单到只有一个表达式,就可以考虑用lambda表达式,也称匿名函数. 1 lambda表达式基础 #首先需要声明一点:lambda是表达式而非 ...
- React Native填坑之旅 -- FlatList
在React Native里有很多种方法来创建可滚动的list.比如,ScrollView和ListView.他们都各有优缺点.但是在React Native 0.43里增加了两种行的list vie ...
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自<第一行代码>第2版,作者:郭霖:但是文中讲 ...
- Java AES加密案例
AES加密原理 http://www.blogjava.net/amigoxie/archive/2014/07/06/415503.html PHP 加密 https://segmentfault. ...
- openstack-ocata-仪表盘服务6
Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器.一. 安装和配置 接下来 ...
- Git & github 使用指南
Git的安装: 1.下载 Git for windows下载网址:https://git-for-windows.github.io/ 2.安装 选择安装路径: 选择组件:默认 是否修改环境变量 : ...
- zabbix监控安装
1.关闭iptables和selinux # systemctl stop firewalld # systemctl disable firewalld # setenforce 2.安装yum源 ...
- SRE之道:创造软件系统来维护系统运行
引言:本文作者Ben Treynor Sloss,Google 运维团队的高级副总裁,SRE 名称的发明者,在这里提供了他对SRE 的定义. 本文选自<SRE:Google运维解密>. ...