`
luhantu
  • 浏览: 203485 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 内部类 - 避免修改接口

    博客分类:
  • Java
阅读更多

大家假想一下如果,你的类要继承一个类,还要实现一个接口,可是你发觉你继承的类和接口里面有两个同名的方法怎么办?你怎么区分它们??这就需要我们的内部类了。看下面的代码 

InterfaceTest:

package com.mode.infa;

public interface InterfaceTest {
	  public void test();
}

 DuplicateFunction:

package com.mode;
public class DuplicateFunction{

	public void test() {
		System.out.println("This is DuplicateFunction test function excute");
	}
	
	public void test2(){
		
	}

}

 如果现在一个类,既要实现接口,也要继承DuplicateFunction,你会发现test()方法是一样,怎么办?现在这样的情况就要用到内部类了。

DuplicateExtend:

package com.mode;
import com.mode.infa.InterfaceTest;
public class DuplicateExtend extends DuplicateFunction {
	private class innerClass implements InterfaceTest{
		public void test()
		{
			System.out.println("interface test function excute");
		}
	}
	
	public InterfaceTest getInterfaceTest()
	{
		return new innerClass();
	}
}

 

0
2
分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第06天-05.匿名内部类-适配器模式.zip

    在Java中,当我们只需要用到一次的类时,使用匿名内部类可以避免创建不必要的独立类文件,简化代码结构。例如,当我们要实现一个事件监听器时,可以使用匿名内部类直接实现Listener接口,这样既方便又高效。 匿名...

    java面向对象-API(接口)与集合(ArrayList).docx

    ### Java面向对象:API(接口)与集合(ArrayList) #### API: 接口概念 API,全称为Application Programming Interface,即应用程序编程接口。在Java中,API可以被理解为一本程序员的指南,它提供了JDK中所有类的使用...

    Java内部类的作用

    通过内部类,我们可以避免修改接口,并在类中实现这些同名方法。 **示例:** 假设有一个接口`Calculator`,其中包含一个名为`calculate`的方法。如果我们需要在同一个类中实现两种不同的`calculate`方法,可以通过...

    Java与模式-我修改过的源代码

    修改可能涉及优化线程安全性,比如采用静态内部类的方式避免同步开销。 2. **工厂模式**:用于创建对象,隔离对象创建过程,提高灵活性。有简单工厂、工厂方法和抽象工厂三种形式。修改可能涉及增加更多具体的工厂...

    java8-函数式接口.pdf

    在 Java 8 之前,我们需要创建一个新的匿名内部类来实现 `Comparator` 接口: ```java employees.sort(new Comparator() { @Override public int compare(Employee em1, Employee em2) { if (em1.getAge() == ...

    (超赞)JAVA精华之--深入JAVA API

    而 `StringBuffer` 类则允许在原有基础上修改字符串。`StringBuffer` 可以通过调用 `toString()` 方法转换为 `String` 类型。 - 示例代码展示了如何使用 `StringBuffer` 来构建字符串并将其转换为 `String` 类型。 ...

    java-API-String类

    Java中的包是用来组织类和接口的一种机制,它可以避免类名冲突,并且提供了一种访问权限的控制方式。包主要分为两种类型:标准包和自定义包。 - **标准包**:Java提供了多个内置的标准包,例如: - `java.lang`:...

    Java基础知识-day12【函数式接口、方法引用】修改后文档.pdf

    - Lambda表达式:Lambda表达式是函数式接口的实例化形式,可以被视为匿名内部类的“语法糖”,但其底层实现与匿名内部类不同。 - 接口定义:一个简单的函数式接口定义通常如下: ```java interface ...

    JAVA核心技术--高级特征(第八版)--第三部分

    线程同步是多线程编程中的重要概念,如synchronized关键字、volatile变量、wait()、notify()与notifyAll()方法的应用,以及Lock接口和ReentrantLock类的使用,这些都是保证数据一致性、避免线程安全问题的关键。...

    java笔记--

    - **内部类**:在类内部定义的类,可以是成员内部类、局部内部类等。 12. **集合框架** - **List**:有序、可重复元素的集合,如ArrayList和LinkedList。 - **Set**:无序、不允许重复元素的集合,如HashSet和...

    Java复习---思考题

    5. Java的包是组织类和接口的一种方式,类似于文件夹。包有两个主要作用:一是解决命名冲突问题,防止不同来源的类名相同;二是封装,隐藏内部实现细节,提供对外的公共接口。 6. J2SE类库中的主要包包括: - `...

    CoreJava考试试题---达内科技.pdf

    - `final`修饰符用于声明变量、方法或类不可更改。当应用于变量时,一旦赋值就不能再修改;应用于方法时,该方法不能在子类中被重写;应用于类时,该类不能被继承。 ### 7. 异常处理 - **知识点:** - Java中的...

    java内部类的作用[文].pdf

    Java内部类,也称为嵌套类,是Java编程语言中的一种独特特性,允许在一个类的内部定义另一个类。这种设计模式提供了多种优势,包括数据隐藏、访问权限控制、多重继承模拟以及方法重载的替代方案。 首先,内部类能够...

    简述抽象类和接口的区别-java接口和抽象类异同.docx

    - 如果基本功能经常变动,使用抽象类更有利于管理变化,避免频繁修改已实现接口的类。 - **是否需要提供默认实现**: - 抽象类可以提供部分方法的默认实现,减少子类的工作量。 - Java 8 及以后版本的接口也支持...

    Java小程序---弹球游戏

    - **封装**:将游戏的内部状态(如球的位置、速度)封装在类的私有变量中,通过公有的getter和setter方法进行访问和修改,确保数据的安全性。 2. **图形用户界面(GUI)**: - **Java AWT/Swing**:弹球游戏通常...

    Java程序设计----面向对象

    接口在Java中起到了合同的作用,确保了实现它的类遵循特定的规则。 7. 异常处理:Java提供了异常处理机制,以处理程序运行时可能出现的错误。通过try-catch-finally语句块,我们可以捕获和处理异常,保证程序的健壮...

    java-Design-Patterns-chinese.rar_java design patterns

    - 状态模式(State):允许对象在内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 - 策略模式(Strategy):定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。 - 模板方法模式...

    java大学教材----完整版

    开发者可以通过查看源代码,例如System类在src/java/lang/System.java中的实现,来深入了解Java库函数的内部工作。 设置环境变量是使系统能够找到JDK的关键步骤。在Windows系统中,需要将JDK的bin目录添加到PATH...

    JAVA基础--JAVA中的反射机制详解

    Java反射机制是Java语言提供的一种强大的能力,它允许程序在运行时检查类、接口、字段和方法的信息,并能动态地创建对象和调用方法。在Java中,反射机制主要用于以下几个方面: 1. **获取类信息**:通过`Class`类的...

    java面试题-解密版

    - 实现`Runnable`接口:创建一个实现`Runnable`接口的类,并重写`run()`方法,然后通过`Thread`类的构造函数传入该实现类的实例来创建线程。 - 使用`Callable`和`Future`:适用于需要返回结果的任务,通过`...

Global site tag (gtag.js) - Google Analytics