`
zhuobinzhou
  • 浏览: 136630 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类

继承自抽象的匿名内部类的例子

 
阅读更多
//定义一个抽象类
abstract class A {
	abstract public void fun1();
}

class Outer {
	public static void main(String[] args) {
		//定义一个继承自抽象类的内部类
		class Inner extends A{
			//覆写抽象方法
			public void fun1(){
				System.out.println("public void fun1()");
			}
		}
		//创建一个匿名外部类并调用一个外部类方法
		//传递一个匿名内部类对象
		new Outer().callInner(new Inner());
		
	}
	public void callInner(A a){
		a.fun1();
	}
}

 效果:

public void fun1()

 

//定义一个抽象类
abstract class A2 {
	abstract public void fun1();
}

class Outer2 {
	public static void main(String[] args) {
		//创建一个匿名类并调用该类 的一个方法
		//传递一个继承自抽象类的子类的匿名对象
		new Outer2().callInner(new A2(){
			public void fun1(){
				System.out.println("public void fun1()");
			}
		});
		
	}
	public void callInner(A2 a){
		a.fun1();
	}
}

 

效果:

public void fun1()

分享到:
评论

相关推荐

    java中的匿名内部类总结

    匿名内部类是指没有名字的内部类,它是继承一个父类或实现一个接口的子类。匿名内部类只能使用一次,因为它没有名字,因此不能被重复使用。 匿名内部类的特点 1. 匿名内部类只能使用一次,因为它没有名字。 2. ...

    匿名内部类核心重点知识讲解和经典例子讲解

    - **继承抽象类**:匿名内部类也可以继承一个抽象类,并提供未实现的方法的实现。 5. **匿名内部类的应用场景** - **事件监听**:在Swing或Android开发中,常用于创建事件监听器。 - **简洁的代码**:在只需要一...

    发两个匿名内部类使用的例子

    - 自Java 8引入lambda表达式后,匿名内部类的一些用途被替代,因为lambda可以更简洁地表示单抽象方法的接口实现。然而,对于非函数式的复杂逻辑,匿名内部类仍然是一个有用的工具。 7. **线程**: - 匿名内部类也...

    匿名内部类代码

    在这个例子中,`ConcreteCreator`类的`getCreator`方法返回了一个实现了`Creator`接口的匿名内部类实例。这种方式使得我们能够在不改变`ConcreteCreator`类的情况下,改变产品创建的逻辑。 接下来,我们可以对比另...

    匿名内部类_Anoymous_Inner_

    匿名内部类是Java编程语言中一个独特而强大的特性,它允许开发者在不定义单独类的情况下实现接口或继承抽象类。这种类没有名称,通常用于快速实现特定功能或回调机制,尤其是在处理事件监听器时非常常见。匿名内部类...

    非常精简的匿名内部类详解.docx

    在Java编程语言中,匿名内部类是一种特殊的类,它没有名称,通常用于简洁地实现某个接口或继承某个类,尤其在只需要单个实例且无需多次复用的情况下。这种设计模式可以大大简化代码,提高可读性。下面我们将深入探讨...

    JAVA_匿名内部类

    同样,匿名内部类也可以用来继承一个非抽象类,并且可以重写其方法。这在需要扩展已有类功能的场合非常有用。比如: ```java abstract class BaseClass { abstract void print(); } public class Main { ...

    java中的抽象类,接口和内部类 PPT

    - 匿名内部类:没有名称的内部类,通常用于快速实现简单的接口或抽象类。 - 静态内部类:可以独立于外部类的实例存在,但仍然保持对外部类的访问权限。 例如,一个包含成员内部类的例子: ```java class ...

    详解Java内部类——匿名内部类

    在上面的例子中,我们使用匿名内部类来继承抽象类Human,并覆盖了其中的walk()方法。 匿名内部类也可以用来实现接口,例如: ```java public interface Runnable { void run(); } public class AnonymousTest { ...

    第十章 内部类

    匿名内部类通常用于快速实现一个接口或继承一个类,不需要显式命名。静态内部类虽然在形式上类似于成员内部类,但可以独立于外部类实例存在,因为它们有自己的生命周期。 内部类的一个关键特性是它可以访问外部类的...

    Java中的匿名内部类小结

    匿名内部类也可以继承自具体的类,如`TextWriter`: ```java public class TextWriter implements IWriter { @Override public void write() { System.out.print("text writer.."); } } public static ...

    Java接口和内部类教程

    匿名内部类是通过继承现有类或实现现有接口来创建的,但不显式定义类名。 ##### 3.2.4 静态内部类 静态内部类类似于成员内部类,但是它是静态的,因此不需要依赖于外部类的实例就可以访问静态内部类的对象。 总结...

    全面了解Java中的内部类和匿名类

    匿名内部类是另一种特殊的内部类,它没有名称,通常用于快速实现接口或抽象类的简短回调。在Java中,当只需要用一次的类实现某个接口或者继承某个类时,可以使用匿名内部类。例如: ```java Runnable r = new ...

    Java内部类总结

    2. **多态与抽象**:每个内部类都可以独立地继承一个类或实现一个接口,这意味着即使外部类已经继承了某个类或实现了某个接口,内部类仍然可以有自己的继承链,提供多重继承的解决方案。 3. **代码简洁性**:使用...

    内部类介绍

    内部类的主要用途在于提供封装和抽象的能力,它可以访问外部类的所有成员,包括私有成员,这使得内部类成为实现复杂逻辑和封装特定行为的理想工具。此外,内部类也可以帮助我们更好地组织代码,尤其是在实现回调和...

    Kotlin 匿名类实现接口和抽象类的区别详解

    现在,让我们来看看匿名类继承抽象类的例子: ```kotlin abstract class AbstractOnBind { abstract fun onBindChildViewData(holder: String, itemData: Any, position: Int) } lesson.does(object : ...

    Java程序设计:020613_内部类.ppt

    而如果父类是具体类或抽象类,那么我们只能通过内部类来实现多重继承的效果。以下是一个例子,展示了如何通过内部类实现对多个父类特性的继承: ```java class Father { public int strong() { return 9; } } ...

    JAVA匿名类创建对象.doc

    但是一般只用于实现接口或继承抽象类。 #### 三、匿名类的使用场景 匿名类主要用于以下几种情况: 1. **回调机制**:在事件监听器等回调机制中,使用匿名类可以简化代码,使得回调函数更加简洁明了。 2. **单次...

    Java教程例子 教程 例子

    5. 内部类与匿名类:内部类可以是成员内部类、局部内部类或匿名内部类,它们提供了一种将相关类封装在一起的方式。例子可能会展示如何创建和使用这些内部类。 6. 异常处理:Java的异常处理机制是通过`try-catch-...

Global site tag (gtag.js) - Google Analytics