`
jackleechina
  • 浏览: 585107 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

java 复习笔记——接口在工程中的应用

    博客分类:
  • java
 
阅读更多
利用接口实现 工程过程中负责各模块功能的团队间 的协同工作。例子如下:

一)主板厂商定义显卡接口interface VideoCard
interface VideoCard
{
	void Display();
	String getName();
}


二)主板厂商完成主板功能,不用理会显卡接口如何具体实现。(只需调用显卡接口的方法)
class Mainboard
{
	String strCPU;
	VideoCard vc;
	void setCPU(String strCPU)
	{
		this.strCPU=strCPU;
	}
	
	void setVideoCard(VideoCard vc)//体现了接口的多态性
	{
		this.vc=vc;
	}
	void run()
	{
		System.out.println(strCPU);
		System.out.println(vc.getName());
		vc.Display();
		System.out.println("Mainboard is running");
	}
}


三)显卡厂商实现显卡接口
class Dmeng implements VideoCard
{
	String name;
	public Dmeng()
	{
		name="Dmeng's videocard";
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public void Display()
	{
		System.out.println("Dmeng's videocard is working");
	}
	public String getName()
	{
		return name;
	}
}


四)个人购买电脑兼容机
class Computer
{
	public static void main(String[] args)
	{
		Dmeng d=new Dmeng();//购买Dmeng厂商的显卡.(这里也可以购买其他显卡厂商的显卡,即其他显卡厂商实现了显卡接口)
		Mainboard m=new Mainboard();
		m.setCPU("Intel's CPU");
		m.setVideoCard(d);//插入显卡,体现了接口的多态性
		
		m.run();//开机
	}
}


五)备注:多态性
接口的出现是为了更好的实现多态,而多态的实现不一定需要依赖于接口
举个例子,多态肯定知道,一般有三种,接口的多态,类的多态,方法的多态
方法的多态就类似于我们方法的重载,这里不赘述
类的多态无非就是子类继承父类,并重写父类的方法,从而获得不同的实现
那么再来看接口,接口跟类基本是一样,实现接口并实现接口的方法。。不同的类实现接口可以有不同的方式从而表现不同的行为,就是接口的多态性啊。

摘自:孙鑫老师的Java视频。
分享到:
评论

相关推荐

    超详细的Java复习知识点2019——个人笔记.zip

    这份名为"超详细的Java复习知识点2019——个人笔记"的文档,旨在为初学者提供一个全面且深入理解Java基础知识的指南。笔记内容可能涵盖了以下几个关键领域: 1. **Java语法基础**:包括变量、数据类型、运算符、...

    java复习笔记

    这份"java复习笔记"旨在帮助学习者系统地回顾和深入理解Java的关键概念和技术,以便于提升编程技能和应对各种开发挑战。 一、基础语法 Java的基础语法包括变量、数据类型、运算符、流程控制语句等。例如,变量是...

    JSP复习笔记——第11章 JSP 构架和MVC设计模式

    本篇复习笔记主要关注的是JSP构架以及MVC(Model-View-Controller)设计模式的应用。 MVC设计模式是软件工程中的一种架构模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)...

    Java JDK 6学习笔记——ppt简体版

    这份"Java JDK 6学习笔记——ppt简体版"很可能是对这一版本特性和使用方法的详细讲解,旨在帮助初学者和有经验的开发者深入理解JDK 6的核心功能和改进。 JDK(Java Development Kit)是Java编程语言的软件开发工具...

    Java基础复习笔记——数据结构和算法浅谈-附件资源

    Java基础复习笔记——数据结构和算法浅谈-附件资源

    学习笔记——资料

    【Java学习笔记——全面解析】 Java作为一种广泛应用的高级编程语言,是软件开发领域的核心力量。这份"学习笔记——资料"涵盖了Java学习的各个方面,旨在帮助初学者和有经验的开发者巩固基础,提升技能。以下是对这...

    Java基础 学习笔记 Markdownr版

    4. 多线程:在10多线程.md中,介绍了如何创建和管理Java线程,包括Thread类、Runnable接口,以及同步机制如synchronized关键字、wait()、notify()和notifyAll()方法。多线程技术是实现并发执行的关键,有助于提高...

    大一下Java大作业——双人联机小游戏森林冰火人.zip

    中的“大学生Java学习笔记,复习巩固,课程大作业,课程设计,期末复习”暗示了这个项目是学生学习过程中的一个重要部分,它可能包括了课堂所学的全部Java概念和技术,如面向对象编程、类与对象、继承、多态、接口等...

    Java期末考试复习笔记

    ### Java期末考试复习笔记 #### 第一章:Java入门 - **Java的特点**: - **面向对象**:Java的设计原则之一就是支持面向对象编程(OOP),这使得它非常适合于构建复杂的、可维护的应用程序。 - **与平台无关**:...

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《Java JDK 7学习笔记》是作者多年来教学实践的经验总结,汇集了学员在教学过程中遇到的概念、操作、应用或认证考试上的各种问题及解决方案。  《Java JDK 7学习笔记》详细介绍了JVM、JRE、Java SE API、JDK与IDE...

    Java基础复习笔记07数据结构-树的概述

    本篇复习笔记主要关注树的概述,包括树的概念、基本操作、使用场景以及一种特殊的树实现——记父节点实现。 1. **树的概念** 树是一种由N个节点构成的有限集合,这些节点之间存在父子关系。与线性结构(如数组、...

    Java基础复习笔记09数据结构-哈夫曼树

    ### Java基础复习笔记09数据结构-哈夫曼树 #### 概述 本文档主要介绍了Java中的数据结构——哈夫曼树(Huffman Tree),并深入探讨了其原理、构造方法以及应用实例。哈夫曼树是一种带权路径长度最短的二叉树,在...

    北大青鸟复习笔记

    【北大青鸟复习笔记】是针对信息技术领域,特别是计算机网络知识的总结,主要涵盖了第三代计算机网络的概念及其核心特征。在这一阶段,网络的发展基于开放系统互连(OSI)参考模型,这是一个国际标准,用于定义网络...

    北京邮电大学《软件工程》期末考试试卷期末复习资料.pdf

    5. 编程实践:编程语言的选择(如Java、C++、Python等),编程标准和规范的遵循,以及代码复用和重构的方法也是软件工程中重要的知识点。 6. 软件测试:测试是确保软件质量的关键环节,包括单元测试、集成测试、...

    Java大作业安卓开发——Word-Ocean Dictionary(词海).zip

    【描述】"大学生JAVA学习笔记,复习巩固,课程作业,课程设计" 暗示这可能是某个大学课程的一部分,学生通过这个项目来实践Java编程和Android应用开发的知识。这可能涵盖了从基础概念到高级特性的全面学习,如UI设计...

    硅谷java基础每日复习eDiary

    以下是基于描述中提到的两个文件——"Java基础每日复习笔记-JavaSE基础阶段.edf"和"Java基础每日复习笔记-JavaSE高级阶段.edf"——所包含的知识点的详细阐述: 1. **Java SE基础阶段**: - **Java简介**:了解Java...

    java 解惑

    6. **Java 十大基础笔记整理(PDF).zip**:这是一份整理好的Java基础知识点的笔记,涵盖了类、对象、接口、继承、异常处理、输入输出、集合框架等关键概念,适合初学者和复习者参考。 通过这些文件,我们可以系统...

    java多线程应用实现方法

    —————————————————————————————————————————————————- java中的多线程 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runabl

    适合新手练手的项目 java初学者 视频+源码+笔记都有度娘链接永久有效

    本文将详细介绍一个专门为Java初学者设计的练手项目——杰信商贸SS版本,包括项目的背景、特点以及如何通过视频教程、源代码和笔记进行学习。 #### 二、项目简介 ##### 2.1 项目概述 杰信商贸SS版本是一款模拟商贸...

Global site tag (gtag.js) - Google Analytics