`
luhantu
  • 浏览: 201410 次
  • 性别: 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与模式-我修改过的源代码

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

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

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

    java笔记--

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

    Java复习---思考题

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

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

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

    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基础--JAVA中的反射机制详解

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

    java-puzzlers-sampler_java_Joshua_

    10. **默认方法**:Java 8引入的接口默认方法允许接口中包含方法实现,这打破了传统的接口与类的界限,但也可能导致接口冲突,需要谨慎使用。 通过阅读《Java Puzzlers Sampler》,开发者不仅可以发现并解决这些...

    Thinking in java edition3-code

    - 类与对象:书中通过实例代码解释了如何定义类以及如何创建和使用对象,这是Java的核心特性。 - 封装:示例代码展示了如何通过访问控制修饰符(public, private, protected)实现数据封装,保护内部数据不被非法...

    JAVA面试--葵花宝典完整版

    12. 内部类的实现方式:成员内部类、局部内部类、匿名内部类和静态内部类。 13. 实现序列化的方法:实现`Serializable`接口。例如: ```java class MyClass implements Serializable { // ... } ``` 14. 在...

    基于Java的源码-访问权限控制源代码.zip

    - Java中没有直接的友元类概念,但可以通过内部类或者使用package-private来实现类似效果。 7. 访问权限与多线程: - 在多线程环境下,访问权限控制有助于确保线程安全。例如,private成员变量可以防止多个线程...

    Java 抽象类

    这意味着添加新功能时,应尽量避免修改已有代码,而是通过增加新的抽象类或接口来实现。 通过学习和熟练掌握Java抽象类,开发者能够更好地设计和组织代码,提高代码的灵活性和可维护性,是成为一名优秀Java程序员的...

    Java编程规范-从零开始学习

    此外,还可以在类或接口声明内部添加/*...*/注释,提供有关整个类或接口的额外信息。 在类和接口声明中,应遵循一定的格式和顺序。首先,类或接口的文档注释描述其功能和相关信息。接着是类或接口的声明,命名遵循...

    内部类示例源码

    内部类是Java编程语言中的一个独特特性,它允许我们在一个类的定义内部创建另一个类。这种设计模式在处理复杂的对象关系或实现特定功能时非常有用。本示例源码提供了关于内部类的全面理解,包括它的三种形式:成员...

    Java 版设计模式学习笔记-java-design-patterns.zip

    在Java中,通常使用双重检查锁定(Double-Check Locking)或者静态内部类的方式实现单例,以确保线程安全并避免过早初始化。 二、工厂模式 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在Java...

    JAVA面试题-十道题目

    1. 封装性:Java 的封装性是指将类的属性和方法封装在类的内部,并通过访问修饰符进行控制,使得外部无法直接访问和修改类的内部实现细节。封装性的目的是为了隐藏类的实现细节,提高代码的安全性和可维护性,同时也...

    Android-从Java到Kotlin-您的JavaToKotlin速查表

    - Kotlin的高阶函数和lambda表达式简化了回调和匿名内部类,如:`(x) -> x * x`,而在Java中需要实现接口。 4. **集合与遍历** - Kotlin提供了`List`, `Set`, `Map`等集合的泛型接口,与Java相似,但其操作更加...

Global site tag (gtag.js) - Google Analytics