java 类内部定义接口

java类内部可以定义接口,作用可以看作是对类功能的进一步补充,类里面包含两部分:一部分是自己的固定的,一部分是可以变化的,而这可变的部分就编程了一个接口。

另一个作用是避免命名冲突。

示例

类Fruits内部存在接口Apple

public class Fruits {

    public interface Apple {
        public String info();
    }

}

通过匿名内部类方式实现Fruits类中的Apple接口

public class Test {

    public static void main(String[] args) {
        Fruits.Apple apple = new Fruits.Apple() {
            @Override
            public String info() {return "I‘m an Apple";}
        };
        System.out.println(apple.info());
    }
}

需要注意,内部接口不管有没有声明static,都是静态的。这不同于成员内部类,成员内部类需要依赖其所在类实现的对象。

原文地址:https://www.cnblogs.com/deltadeblog/p/11281439.html

时间: 2024-08-02 01:21:19

java 类内部定义接口的相关文章

java类中定义接口

今天看到一个java类中定义了接口,写个备忘录,记录一下 1 package com.gxf.test; 2 3 public class Test_interface { 4 public interface show{ 5 public void show(); 6 } 7 static class TestInterface implements show{ 8 9 @Override 10 public void show() { 11 System.out.println("this

3.1.9 类内部定义的函数:绑定方法与非绑定方法

'''在类内部定义的函数,分为两大类: 一:绑定方法:绑定给谁,就应该由谁来调用,谁来调用就会把调用者当作第一个参数自动传入 1. 绑定到对象的方法:在类内定义的没有被任何装饰器修饰的 2. 绑定到类的方法:在类内定义的被装饰器@classmethod修饰的方法 二:非绑定方法:没有自动传值这么一说了,就类中定义的一个普通工具,对象和类都可以使用 非绑定方法:不与类或者对象绑定,在类内定义的被装饰器@staticmethod修饰的方法 说明:未做任何修饰时:在类内定义的方法是绑定给对象的,对象调

黑马程序员---java基础-Java类 继承&抽象&接口

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.继承 继承是所有OOP语言不可缺少的部分,在java中使用extends关键字来表示继承关系.当创建一个类时,总是在继承,如果没有明确指出要继承的类,就总是隐式地从根类Object进行继承.比如下面这段代码: 1 class Person { 2 public Person() { 3 4 } 5 } 6 class Man extends Person { 7 public Man()

Java类的定义及其实例化

如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; void bark(){  // 汪汪叫 System.out.println("汪汪,不要过来"); } void hungry(){  // 饥饿 System.out.println("主人,我饿了")

java类声明定义与c++的区别

java类定义有有访问关键字以及修饰符,而c++没有这样的关键字: 例如java: public class a{ int a: double b: } c++: class a{ int a: double: }: 看起来java复杂了累的声明与定义,它减去了c++的多态继承,很大程多上简化了他的特性.

1.Java类的定义及其实例化

类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public class Dog{ String name; int age; void bark(){  // 汪汪叫 System.out.println("汪汪,不要过来"); } void hungry(){  // 饥饿 System.out.println("主人,我饿了"); } } 对示例的说明: public 是类的修饰符,表明该类

Java 类的定义对象和引用

Java的核心思想万物皆对象. 对象是对属性(成员变量, 静态属性)和方法(函数, 动态属性)的封装 定义一个类 public class 类名{ 成员变量 方法 } 类名   变量名 = new  类名(); 变量名. 面向对象更容易达到一种境界: Reusable(重用性), Extensibility(可扩展性) 面向组件(Component)--比对象更高层次的抽象 WebService 成员变量和局部变量的区别 成员变量可以是java中任意一种数据类型(基础数据类型和引用类型) 成员变

Java类集-SortedSet接口

TreeSet实现了SortedSet接口 package iotest; import java.util.SortedSet; import java.util.TreeSet; public class sset { public static void main(String args[]){ SortedSet<String> alls=new TreeSet<String>(); alls.add("A"); alls.add("M&quo

类内部定义函数指针及其用法

发生如下错误 以为是命名空间与函数指针的问题.查询得到有价值的信息如下: 实际解决问题参考的帖子如下: 最终问题解决了.明天详述. 原文地址:https://www.cnblogs.com/yuweng1689/p/12596304.html