在看高人写的代码的时候,发现原来接口还可以这样实现。很有趣啊!
接口A:
package com.why;
public interface InterfaceA {
public void sayA();
}
接口B:
package com.why;
public interface InterfaceB {
public void sayB();
}
实现A,B
package com.why;
public class ClassA {
public static void main(String args[]){
InterfaceA a=new InterfaceA(){
@Override
public void sayA() {
// TODO Auto-generated method stub
System.out.println("I am a A.");
}
};
InterfaceB b=new InterfaceB(){
public void sayB(){
System.out.println("I am a B.");
}
};
//must have ; in here.
a.sayA();
b.sayB();
}
}
输出: I am a A.
I am a B.
注意的地方,需要将这个接口类,放进某个方法里。因为它还是一个变量,如果不放进去,就需要变成static(还不太明白为什么,呵呵).还有需要在结尾处放 ; 号。其它就没什么了。
终结,以我愚见,这样写的好处可以减少无用类的定义。因为这些接口的实现类,只在这个方法中使用一次,没有必要在单独写出一个文件 类。所以就使用这种方式。咋一看还像直接new interface一样,也像新定义了一个inner class一样。呵呵,很有趣啊!看高人写的代码就是不一样啊。
分享到:
相关推荐
在Java中,除了接口之外,还有一个重要的概念——内部类。内部类是在另一个类的内部定义的类,它可以访问外部类的成员变量和方法,即使这些成员是私有的。 内部类分为几种类型:成员内部类、局部内部类、匿名内部类...
Java反射机制是Java语言提供的一种强大功能,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类是`java.lang.Class`,它代表了运行时的类信息。通过Class对象,我们...
4. 多态:多态性允许我们使用父类引用指向子类对象,这样可以实现不同的子类对象对同一方法的不同的实现,增强了程序的灵活性。Java通过方法重写(Override)和接口实现(Interface Implementation)来实现多态。 5...
3. **组合性**:通过多个装饰者的叠加,可以实现更复杂的功能,这比使用继承来扩展功能更加灵活。 4. **职责分离**:装饰者模式让扩展功能的责任与组件对象的原始职责分离,使得代码更易于理解和维护。 5. **优缺点*...
在Java中,通常使用双重检查锁定(DCL)或者静态内部类来实现线程安全的单例。单例模式常用于配置管理、日志服务等场景。 2. **工厂模式**: 工厂模式提供了一种创建对象的最佳方式,隐藏了对象创建的细节。简单...
- **多态**:多态是指一个接口可以有多个实现,或者一个类可以有多种形态。在Java中,多态可以通过方法重载和方法重写来实现。多态使得我们可以编写更加灵活和可扩展的代码。 综上所述,面向对象编程提供了一种强大...
通过JDBC,开发者可以连接各种数据库,无需关注底层实现,只需关注如何有效地使用这些接口。在现代项目开发中,基于数据库的开发占据了很大比重,因此JDBC是开发者必备技能之一。 除了上述四大核心,书中还强调了...
《精通JAVA——JDK》是一本深度探讨Java编程语言及其开发工具集JDK的专业教程,旨在帮助Java开发者提升技能,实现技术的精进。作为Java的基石,JDK(Java Development Kit)是学习和开发Java应用程序必不可少的工具...
传统上,我们需要创建一个新的匿名内部类来实现这样的接口: ```java MyFunctionLambda ma2 = new MyFunctionLambda() { @Override public void go(String str) { System.out.println(str + "不使用 lambda ...
在Java编程语言中,"Java小程序——动物乐园zoo"是一个很好的实践项目,它结合了面向对象编程(Object-Oriented Programming, OOP)和接口(Interface)等核心概念。面向对象是Java的灵魂,它通过类(Class)来定义...
【Java接口快速开发框架——深入理解magic-api】 在IT行业中,高效的开发工具和框架对于提升开发效率至关重要。"基于Java的接口快速开发框架"正是这样一种解决方案,它借助于magic-api,让开发者能够以更简洁的方式...
- **实现Runnable接口**:更适合需要多重继承的场景,因为Java不支持多继承,但可以实现多个接口。需要通过创建`Thread`对象并传递`Runnable`实例来启动线程。 **输出结果分析** 在两种情况下,都使用了`...
- 封装:隐藏内部实现,通过公共接口进行交互。 - 抽象类与抽象方法:定义接口,不提供具体实现。 - 接口的实现与实现类:强制实现所有抽象方法,实现多态。 3. **异常处理**: - try-catch-finally语句块:...
多态性使得一个接口可以有多种不同的实现,增强了程序的灵活性。 JDK5.0引入了一些重要的新特性,例如自动内存管理的垃圾回收机制、枚举类型、匿名内部类、泛型以及增强的for循环(也称为foreach循环)。这些特性极...
对于需要更精确控制序列化的对象,可以实现 `Externalizable` 接口。 - **`Serializable` 接口**:这是一个标记接口,没有方法定义。实现了该接口的类的对象可以在序列化过程中被保存。 - **`Externalizable` 接口*...
在JAVA中,类可以实现接口,接口也可以继承其他接口。类与接口之间的关系是实现关系,用“implements”关键字表示。接口之间可以通过“extends”关键字实现继承,这样可以复用已有的接口定义,同时扩展新的方法。...