`

对Java接口理解的实例

    博客分类:
  • Java
阅读更多

通过google学习了一段时间的ssh整合,现在对整合一个ssh开发环境以及一个注册登陆系统已不是问题,也许是出于本人Java基础的问题,在此发表此文章加深对ssh开发过程中,几个概念的理解:

一是:面向接口编程

二是:设置注入(setter注入)

 

示例程序说明:

 

         本文将引用一个常见的场景(旨在加深自己对接口与实现概念的理解):抽象 【汽车Car】 中有实例

 

【宝马汽车BMcar】,汽车中都有抽象 【播放器Music】 ,播放器又可以播放 【重音乐Strongmusic】,

 

重音乐中又可以有 【使用方法playMusic】 和 【使用方法stopMusic】 , 在抽象 【汽车Car】 和 【播放器Music】

 

中只包含接口。

 

          Car   Music  BMcar  Strongmusic 之间的关系是:BMcar是接口Car的实现类,Strongmusic是接口

 

Music的实现类。

 

代码依次是:

 

Car.java

/**
 * @author Eric Zhang
 */
public interface Car {
	//使用车载播放器方法
	public void useMusicplay();
	public void useMusicstop();
}

 

 

 BMcar.java

 

/**
 * @author Eric Zhang
 * Car的实现类
 * 宝马汽车BMcar
 */
public class BMcar implements Car {

	//面向Music接口编程
	private Music music ;
	public BMcar()
	{
		}
	
	//设值注入所需的setter方法
	public void setMusic(Music music)
	{
		this.music = music;
		}
	@Override
	public void useMusicplay() {
		System.out.println(music.playMusic());
	}
	public void useMusicstop() {
		System.out.println(music.stopMusic());
	}

}

 

Music.java

 

/**
 * @author Eric Zhang
 * 播放器可以有播放方法,暂停方法,下一首,上一首等方法
 */
public interface Music {
	//播放器的播放方法
	public String playMusic();
	public String stopMusic();
}

 

Strongmusic.java

 

/**
 * @author Eric Zhang
 * Music的一个实现类
 * 播放器可以有重音乐播放器,轻音乐播放器等
 * 在此实现,重音乐播放器
 */
public class Strongmusic implements Music 
{
	public Strongmusic()
	{
		}
	
	//实现Music接口的playMusic方法
	@Override
	public String playMusic() 
	{
		return "音乐播放器播放方法";
	}
	
	public String stopMusic()
	{
		return "音乐播放器暂停方法";
	}
	}

 

为了看下测试结果,添加一个测试类

 

BeanTest.java

 

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

/**
 * @author Eric Zhang
 *
 */
public class BeanTest {
	
	public static void main(String[] args) throws Exception
	{
		ApplicationContext ctx = new FileSystemXmlApplicationContext("/src/applicationContext.xml");
		
		Car p = (Car)ctx.getBean("bmcar");
		
		p.useMusicplay();
		System.out.println();
		p.useMusicstop();
	}
}

 

为了方便管理bean,程序一开始添加了spring的支持,所以要在此配置下bean

 

配置文件applicationContext. xml

 

<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">


	<!-- 定义 -->
	<bean id="bmcar" class="BMcar">
		<property name="music">
			<ref local="strongMusic"></ref>
		</property>
	</bean>
	
	<!--定义strongmusic bean-->
	<bean id="strongMusic" class="Strongmusic">
	</bean>
</beans>

 

最后测试结果为:

 

log4j:WARN No appenders could be found for logger (org.springframework.context.support.FileSystemXmlApplicationContext).
log4j:WARN Please initialize the log4j system properly.


音乐播放器播放方法

 

音乐播放器暂停方法

 

 

本文全属本人自学总结,如有不当,请批评指正~!

分享到:
评论

相关推荐

    java接口使用实例源码

    本实例源码聚焦于Java接口的实际运用,旨在帮助开发者深入理解接口的工作机制和重要性。 接口在Java中扮演着合同的角色,它定义了一组方法的签名,但不提供具体实现。这使得类可以遵循接口定义的规则,而无需关注...

    java接口实例

    下面将详细阐述Java接口的实例及其重要性。 1. **接口定义与实现** 在Java中,接口通过`interface`关键字来声明。例如,我们可以创建一个名为`Animal`的接口: ```java interface Animal { void eat(); void ...

    java web接口开发demo

    本示例"java web接口开发demo"可能是提供了一个简单的Java Web接口的实现,帮助开发者理解如何构建和使用这样的接口。 首先,让我们了解一下Servlet,它是Java Web应用的核心组件之一,用于接收HTTP请求并返回响应...

    JAVA3D官方实例

    在实践中,你应当打开这个文件,查看其内容,理解它在整体实例中的作用,从而深化对JAVA3D的理解。 总之,JAVA3D官方实例是一个宝贵的教育资源,通过实践这些示例,初学者可以逐步掌握3D图形编程的技巧,包括对象...

    C#调用Java接口演示

    总结来说,C#调用Java接口是一个相对复杂的过程,需要对Java和.NET平台都有深入的理解。使用IKVM.NET或其他类似的工具可以简化这个过程,但仍然需要注意跨语言通信中的类型映射、异常处理和性能优化等问题。实际项目...

    java 接口练习作业

    在这个"java接口练习作业"中,我们将会探讨接口的使用,以及如何将其应用于集合框架中。 首先,让我们深入了解Java接口的基本概念。接口是完全抽象的类,不能包含实例变量,但可以声明常量。它由一系列无实现的方法...

    java webService接口开发案例

    - 定义服务接口:首先,你需要定义一个Java接口,这个接口包含了Web服务的方法。 - 实现接口:接着,创建一个类实现该接口,实现具体业务逻辑。 - 注解接口和实现类:使用`@WebService`注解标记接口,`@...

    220个JAVA初学者实例

    以上只是Java初学者实例中可能涉及的部分关键知识点,通过220个实例的实践,你可以逐步建立起扎实的Java基础,为后续深入学习和项目开发打下坚实的基础。不断地练习和巩固这些知识,将有助于你成长为一名合格的Java...

    java 接口 类 继承 多态的简单实例

    Java编程语言以其面向对象特性,包括接口、继承、多态性等核心概念,为开发者提供了强大的设计和实现能力。在本实例中,我们将探讨这些关键概念,并通过具体代码示例来展示它们的实际应用。 首先,**接口...

    java 接口 java 接口java 接口

    以下是对Java接口的详细解释: 一、接口的概念 Java接口是一种完全抽象的类型,它只包含常量定义和抽象方法声明。接口不包含构造函数,也不能实例化。通过实现接口,一个类承诺将提供接口中所有方法的实现。 二、...

    Java项目开发实例

    实例中可能包含对FileInputStream、OutputStream、BufferedReader、BufferedWriter等类的使用,同时,也可能涉及Java NIO(非阻塞I/O)的使用,这对于高性能服务器端应用的开发尤其重要。 5. **多线程编程**:Java...

    《Java网络编程实例:Java网络编程实例》

    本书《Java网络编程实例:Java网络编程实例》显然聚焦于通过实际案例来教授这一核心技能。以下是一些主要的知识点,这些知识点通常会在书中详细讨论: 1. **TCP/IP协议基础**:首先,了解TCP/IP模型和协议栈是非常...

    JAVA简单入门实例

    在编程世界中,Java是一种广泛使用的面向对象的编程语言,以其跨平台的特性、丰富的类库和高效性能而备受青睐。...建议初学者逐一运行这些实例,理解其工作原理,并尝试修改和扩展它们,以此加深对Java编程的理解。

    webservice接口调用实例

    本实例主要关注的是如何调用Web Service接口,我们将探讨相关的关键知识点。 首先,理解Web Service的基本概念非常重要。它通过SOAP(Simple Object Access Protocol)协议传输数据,使用WSDL(Web Services ...

    DELPHI 7 调用 JAVA 接口

    首先,理解Delphi 7调用Java接口的基础原理。这种通信通常依赖于Java的本地接口(JNI,Java Native Interface),它允许Java代码调用C/C++代码,而Delphi代码可以编译为C++兼容的库。因此,Delphi通过JNI桥接,可以...

    Java基础编程实例

    通过这些基本概念的学习和实践,初学者可以逐步建立起对Java编程的全面理解,并为进一步深入学习Java高级特性和框架打下坚实的基础。在“java实用编程”这个压缩包中,应该包含了这些知识点的具体实例,可以帮助学习...

    清华Java程序设计实例教程

    《清华Java程序设计实例教程》全面覆盖了Java编程的基础知识和面向对象编程的概念,结合实例帮助读者理解和应用。通过学习,读者不仅能够掌握Java语法,还能理解如何利用Java进行软件开发,包括异常处理、集合框架的...

    java学习小实例

    Java是一种广泛使用的面向对象的编程语言,以...通过实践这些小实例,你可以逐步提高自己的编程技能,并对Java有更深入的理解。记得理论与实践相结合,遇到问题不要怕,多思考、多查资料,你会在Java的世界里不断进步。

    JAVA编程经典实例100个[源代码]

    7. **实例5 哈希表和枚举器**:这部分内容可能涉及Java集合框架中的`HashMap`和`Iterator`接口,介绍哈希表的高效查找以及枚举器的使用方法。 8. **实例70 使用JDOM解析XML**:JDOM是一个用于处理XML文档的Java库,...

    Java高级编程实例 100个

    本资源“Java高级编程实例 100个”提供了丰富的实践案例,旨在帮助初学者深入理解并熟练应用这些高级特性。 1. **多线程**:在Java中,多线程是并发执行任务的基本方式。学习如何创建Thread类的子类,使用Runnable...

Global site tag (gtag.js) - Google Analytics