`
ybhuxiao
  • 浏览: 192520 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Interface+抽象方法使用测试

    博客分类:
  • java
阅读更多
项目里面使用spring,我不会配置(正在学),都是师兄配好了直接用。看到里面都有这么一句。

	@InjectSpring("xtglFacade")
	public abstract XtglFacade getXtglFacade();


这表示注入一个Facade吧,我也不懂。想弄明白是怎么回事,就自己写几个test玩儿,但是越写越糊涂了。如下:

TestA.java

package com.djwl.test.interfaceTest;

import java.util.UUID;

public class TestA {

	public TestA() {
		System.out.println("step7:constructorA");
	}

	public String getUUID() {
		System.out.println("step9");
		return UUID.randomUUID().toString().replaceAll("-", "");
	}
}



TestB.java
package com.djwl.test.interfaceTest;

public interface TestB {

	public TestA getTestA();
	
	public String test();
}



TestBImpl.java
package com.djwl.test.interfaceTest;

public abstract class TestBImpl implements TestB {

	public abstract TestB getTestB();
	
	public String test() {
		System.out.println("step2");
		String string = getTestB().getTestA().getUUID();
		System.out.println("step10");
		return string;
	}
}


TestC.java

package com.djwl.test.interfaceTest;

public class TestC extends TestBImpl {

	public TestC(){
		System.out.println("step4:constructorC");
	}
	
	public TestA getTestA() {
		System.out.println("step6");
		TestA testA = new TestA();
		System.out.println("step8");
		return testA;
	}
	
	public String test(){
		System.out.println("step1");
		return super.test();
	}

	public static void main(String[] args) {
		System.out.println(new TestC().test());
	}

	@Override
	public TestB getTestB() {
		System.out.println("step3");
		TestC testC = new TestC();
		System.out.println("step5");
		return testC;
	}

}



运行TestC.java的main方法,得到结果如下:


step4:constructorC
step1
step2
step3
step4:constructorC
step5
step6
step7:constructorA
step8
step9
step10
36c750665f084696846a24a88c63e312

0
0
分享到:
评论

相关推荐

    北大青鸟ACCP5.0 S2 三层+实体+接口+简单工厂+抽象工厂+公共数据库访问层实例代码

    接口在面向对象编程中起着重要的角色,它定义了一组方法签名,但不提供具体实现。通过接口,可以实现不同类之间的多态性,提高代码的灵活性和可扩展性。在业务逻辑层,接口通常用于定义业务操作,而具体的实现由不同...

    抽象类和接口 测试结果

    在Java中,接口使用`interface`关键字声明,它的所有方法默认都是抽象的和公共的。与抽象类不同,接口不能包含字段(变量)和非抽象方法的实现。一个类可以实现多个接口,从而实现多重继承的效果,这是Java等单继承...

    asp.net 接口(interface)例子

    首先,接口是一种完全抽象的类型,它不包含任何实现,只定义了方法、属性、事件和索引器的签名。在C#中,接口用`interface`关键字声明。例如,我们可以创建一个名为`IWorker`的接口,定义一个`DoWork`方法: ```...

    【IT十八掌徐培成】Java基础第05天-03.抽象类-抽象方法-修饰符组合.zip

    在IT领域,尤其是在Java编程语言的学习中,抽象类和抽象方法是面向对象...实践是学习编程的最佳途径,因此,动手编写和测试代码是巩固抽象类和抽象方法知识的关键步骤。希望这些内容能帮助你在Java学习之路上更进一步。

    抽象类及接口的实例及测试

    测试类通常会使用JUnit框架,创建各种场景来调用抽象方法或接口方法,确保它们的行为符合预期。 例如,我们可以创建一个`Dog`类继承自`Animal`并实现`sound()`方法,同时实现`Flyable`接口: ```java public class...

    java高级类操作 接口与抽象类的操作

    接口是另一种形式的抽象,它使用`interface`关键字声明。接口可以看作是一种协议,定义了一组方法签名,但不提供具体实现。在给定的示例中,`inf`包中的`Figure`接口定义了一个`area()`抽象方法,要求实现这个接口的...

    使用C#实现抽象工厂例子

    在软件设计模式中,抽象工厂(Abstract Factory)是一种创建型模式,它提供了一种创建对象组的方法,而无需指定它们的具体类。这个模式的核心在于,它允许客户端代码使用一个接口来创建一组相关或相互依赖的对象,而...

    abstract class和interface有什么区别?

    - 抽象类可以提供默认实现的方法,这样子类可以直接使用这些默认方法,无需重写。 - **接口 (Interface):** - 接口定义了一组行为规范,即一系列抽象方法。 - Java 8 开始,接口也可以包含默认方法(default ...

    day12_函数式接口、方法引用_每日作业卷1

    **函数式接口**(Functional Interface)是指一个接口只含有一个抽象方法,这种接口可以使用`@FunctionalInterface`注解来标记,从而确保该接口确实只包含一个抽象方法。 ##### **1. CurrentTimePrinter** **定义*...

    data interface Driver

    在Java等面向对象语言中,接口(Interface)是一种完全抽象的类型,它只包含常量声明和方法签名,不包含任何实现。在数据接口Driver的上下文中,接口可能定义了访问数据库的一系列标准方法,如连接、查询、插入、...

    面向抽象编程

    接口(Interface)是面向抽象编程的核心概念,它定义了一组方法签名,但不提供具体实现。通过实现接口,类可以保证遵循特定的行为规范。抽象类则可以包含部分实现,允许子类继承并重写未完成的部分,提供了一种模板...

    抽象工厂使用简便

    ### 抽象工厂使用简便 #### 一、概述 在软件设计模式中,工厂模式是一种常用的创建型设计模式,主要用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。简单工厂模式作为工厂模式的一种变体,其核心...

    Java程序设计课件:第五章 抽象类和接口.ppt

    接口的使用使得代码更易于测试和维护,因为它强制规定了实现类必须遵循的合同。 在提供的课堂练习中,我们看到一个试图实例化抽象类`J_Class`的例子,这是不允许的,因为抽象类不能直接创建实例。另一个练习要求...

    基于C#利用interface实现上位机与fanuc机器人的通信,亲测可用

    在面向对象编程中,接口是一种定义行为的标准,它包含一组抽象方法,不包含任何实现。类可以实现一个或多个接口,从而确保它们具有特定的行为。在我们的上下文中,接口将定义与FANUC机器人通信所需的方法和属性。 1...

    抽象工厂设计模式实例

    抽象工厂设计模式是一种创建型设计模式,它提供了一种创建对象族的方法,而无需指定它们的具体类。在软件工程中,当我们需要创建一系列相关或相互依赖的对象时,但又不想指定它们具体的类,抽象工厂模式就能派上用场...

    Java抽象类与接口课程案例的教学设计.pdf

    接口使用`interface`关键字声明,且接口中的所有方法默认都是抽象的。Java允许一个类实现多个接口,这提供了多继承的能力,弥补了Java不支持多继承的限制。 在教学设计中,应注重以下几点: 1. **概念理解**:首先...

    Test2_Interface.java

    -- 接口:是抽象层 interface implement -- 接口是一个特殊的抽象类,特殊在接口里都是抽象方法 -- 使用时非常灵活,可以降低程序间的耦合性!!! -- 接口突破了java的单继承的局限性,因为接口可以多继承还...

    抽象工厂 asp.net 内含详细代码示例

    这种模式的关键在于抽象工厂接口,它定义了一系列方法,用于创建不同类型的对象。这样,客户端代码只需与抽象工厂接口交互,而不直接与具体的工厂类打交道,降低了耦合度。 在ASP.NET框架中,我们可以创建一个抽象...

    AIDL for HALs测试客户端

    4. **执行测试**:使用生成的客户端接口调用HAL服务的方法,执行测试用例。 5. **断开连接**:测试完成后,别忘了调用`unbindService()`来释放资源。 **测试用例设计** 测试用例应覆盖HAL的所有预期功能,包括正常...

    DAO抽象工厂

    4. **测试友好**:在单元测试中,可以使用模拟的DAO对象,便于测试业务逻辑。 **DAO抽象工厂的实现方式:** 1. **静态工厂方法**:在工厂类中定义静态方法,直接返回DAO实例。 2. **实例化工厂方法**:创建工厂对象...

Global site tag (gtag.js) - Google Analytics