0 0

关于Java内部接口的一个问题5

比如:
class A{
    public interface I1{
        void func();
    }
}

class B{
    public static interface I2{
        void func();
    }
}

请问I1和I2有什么区, 也就是静态内部接口与非静态内部接口有什么区别?

问题补充:
lovewhzlq 写道
对于I1来说,你要使用它的接口,必须先有A的实例

对于I2来说,直接B.I2就能使用了


楼上说的是适用于内部类和嵌套类的情况, 但内部接口却不是如此, 看下面的例子:
class TestClass {
public interface I1 {
void Test();
}

public static interface I2 {
void Test2();
}
};

class IImpl implements TestClass.I1 {

@Override
public void Test() {
System.out.print("IImpl Test");
}
}

class IImpl2 implements TestClass.I2 {

@Override
public void Test2() {
System.out.print("IImp2 Test");
}
}

public class MyTest {

/**
* @param args
*/
public static void main(String[] args) {
TestClass.I1 i = new IImpl();
i.Test();

TestClass.I2 i2 = new IImpl2();
i2.Test2();
}

}

无论接口有没有Static, 都可以正常被实现.
2010年3月30日 11:14

2个答案 按时间排序 按投票排序

0 0

内部接口本来就是静态对象,无需用static关键字申明。

2013年4月08日 22:57
0 0

对于I1来说,你要使用它的接口,必须先有A的实例

对于I2来说,直接B.I2就能使用了

2010年3月30日 11:31

相关推荐

    Java 接口 内部类

    在接口内部,我们可以定义一个内部类`DefaultPlayer`,它实现了`MusicPlayer`接口并提供了默认的播放逻辑。这样,其他类在实现`MusicPlayer`接口时可以选择使用`DefaultPlayer`作为基础,或者完全自定义播放逻辑。 ...

    Java接口和内部类教程

    在Java中,除了接口之外,还有一个重要的概念——内部类。内部类是在另一个类的内部定义的类,它可以访问外部类的成员变量和方法,即使这些成员是私有的。 内部类分为几种类型:成员内部类、局部内部类、匿名内部类...

    Java__接口、内部类和Java_API基础

    Java接口的多继承是指一个类可以实现多个接口,这种机制可以使得Java语言避免了多继承的“钻石继承”类型会导致二义性的问题。 Java内部类是指在外层类中的嵌套类,可以作为成员变量、方法或局部变量使用。内部类...

    java接口与内部类教学PPT

    1.接口-简介 2.接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式) 7.内部类-简介 8.内部类-作用 9.内部类-特殊语法规则 10.内部类-...

    java 接口 java 接口java 接口

    通过实现接口,一个类承诺将提供接口中所有方法的实现。 二、接口与类的区别 1. 类可以有属性(成员变量)和方法,而接口只能有常量(静态最终变量)和抽象方法。 2. 类可以继承单个类,但可以实现多个接口。这实现...

    基于Java的接口快速开发框架

    总之,magic-api作为一个创新的Java接口开发框架,通过其直观的UI界面和自动化功能,大大简化了接口开发的过程,提升了开发效率,是Java开发领域的一个重要工具。对于希望提高开发速度,减少代码冗余的团队来说,...

    JAVA中间接口转发DEMO

    Hystrix是实现熔断的一个常用Java库。降级策略则是在系统资源紧张时,牺牲非核心功能,确保核心服务的正常运行。 8. **单元测试与集成测试**: 为了保证中间层的正确性和健壮性,DEMO应该包含针对转发逻辑的单元...

    java面向接口编程

    在Java中,`Assembler.java`可能就代表了组装电脑的过程,`MainBoard.java`代表主板,`GraphicCard.java`、`NetworkCard.java`和`SoundCard.java`则分别代表显卡、网卡和声卡,而`PCI.java`则是一个接口,定义了这些...

    Java内部类总结

    ### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...

    java 内部类应用

    Java内部类是Java语言的一个特色特性,它允许我们在一个类的内部定义另一个类。这种设计模式在处理一些特定情况时非常有用,例如实现匿名回调、封装特定逻辑或创建与外部类有紧密关系的类。本篇文章将深入探讨Java...

    java内部类的讲解

    - **减少命名冲突**:通过将类定义在另一个类的内部,可以避免全局命名空间中的命名冲突问题,每个内部类都有自己的作用域。 - **更精细的访问控制**:内部类可以访问外部类的私有成员,这提供了更精细的封装和数据...

    java接口的不同使用

    - Java 8引入了函数式接口的概念,这类接口只有一个抽象方法。常见的函数式接口有`java.util.function`包下的`Predicate`, `Function`, `Consumer`等。 - 函数式接口可以用于Lambda表达式,使得代码更加简洁,如在...

    JAVA 内部类 PPT

    Java内部类是Java语言的一个独特特性,它允许我们在一个类的内部定义另一个类。这种设计提供了更高级别的封装和组织代码的方式。以下是关于内部类及其相关知识点的详细说明: 1. **内部类基本语法** - **实例内部...

    Java 接口

    Java接口是Java编程语言中的一个重要概念,它是定义行为规范的蓝图,允许类之间进行多态性的实现。在Java中,接口是一种完全抽象的类型,它只包含常量定义和抽象方法,不包含任何实例变量。接口是Java实现面向接口...

    java内部类详解

    Java 内部类是一种高级特性,允许在一个类的定义内部创建另一个类。这种设计模式提供了更灵活的代码组织方式,同时还可以实现特定的封装和访问控制。内部类主要分为四种类型:静态内部类、成员内部类、局部内部类和...

    java中的内部类内部接口详解

    一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口。...

    java期末复习抽象类与接口,内部类,知识点.zip

    复习时,可以详细阅读`Java抽象类.docx`来理解抽象类的定义、用途和实例化规则,通过`Java接口.docx`学习接口的定义、实现方式以及多继承的特点,`Java内部类.docx`将帮助你掌握不同类型的内部类及其应用场景。...

    内部类 匿名内部类 内部接口 对比说明

    内部类是Java编程语言中的一种特性,它允许我们在一个类的内部定义另一个类。这种设计模式在Android开发中尤其常见,因为它可以有效地管理代码和实现特定的功能。本文将详细探讨内部类、匿名内部类以及内部接口的...

Global site tag (gtag.js) - Google Analytics