`
hyl198611
  • 浏览: 229020 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 内部类,匿名内部类

阅读更多

java 内部类分为4种:

1)静态内部类:static修饰的类叫做静态类,把静态类放到一个类的内部,就叫做静态内部类

特点:可以访问外界:静态方法/静态属性,不能访问实例资源

案例:

import inner.Foo.Koo;//一定要把Koo静态内部类导入进来

public class Demo9 {

public static void main(String[] args) {

Koo koo = new Koo();

koo.add();

}

}

class Foo{

int a = 12;//实例变量

static int aa=16;

public static void show(){ System.out.println("静态的方法");}

//静态内部类

static class Koo{

public void add(){

// System.out.println(a); 静态内部类不能访问实例资源(变量)

System.out.println(aa);

show();//静态内部类可以访问外界的静态属性和方法

}

}

}

2)成员内部类:在一个类的内部,直接定义了一个不用static修饰的类,当创建成员内部类对象的时候,外部类要先创建出来。

特点:成员内部类,可以访问外界的属性和方法

案例:

import inner.Foo1.Koo1;

public class Demo10 {

public static void main(String[] args) {

//Koo1 koo1 = new Koo1();要创建成员内部类,则必须要先创建外部类对象

Foo1 foo1 = new Foo1();

//记住(笔试会考)

Koo1 koo1 = foo1.new Koo1();

koo1.show();

}

}

class Foo1{

int a =12;

static int aa = 16;

class Koo1{

void show(){

System.out.println(a+" , "+aa);

}

}

}

3)局部内部类:使用非常的少,特点在一个方法内定义一个类(企业开发中及其少用)

特点:局部内部类,在引用外界的变量,该变量必须要使用final修饰

案例:

public class Demo11 {

public static void main(String[] args) {

final int a = 12;

final int b = 13;

class Foo2{

int c = 16;

public int add(){

//在局部内部类中,引用外界的变量,则变量必须用final修饰

return a+b+c;

}

}

Foo2 foo2 = new Foo2();

System.out.println(foo2.add());

}

}

4)匿名内部类:对原来的类的一个继承

特点:跟接口/抽象类结合使用

eg  new 类名/接口名 {

重写方法

};

案例:

public class Demo1 {

public static void main(String[] args) {

Koo koo = new Koo(){

//可以重写方法

public String toString() {

return "生成了一个Koo的对象";

}

//在匿名内部类里面不可以创建新的方法

//public void show(){

//System.out.println("liu");

//}

};

System.out.println(koo);

//koo.show();

}

}

class Koo{

 

}

分享到:
评论

相关推荐

    java 内部类使用(内部匿名类)

    内部类分为几种类型,包括成员内部类、局部内部类、匿名内部类以及方法参数内部类。 1. **成员内部类**:成员内部类就像是外部类的一个普通成员,可以是静态或非静态的。非静态内部类拥有对外部类的引用,可以直接...

    java 内部类 局部内部类 匿名类 实例代码

    本篇文章将深入探讨Java中的四种内部类:实例内部类、局部内部类、匿名类和静态内部类,并通过实例代码进行详细解析。 1. **实例内部类**:这是最常见的内部类形式,它在外部类的实例方法或成员位置定义。实例内部...

    java中的匿名内部类总结

    Java 中的匿名内部类总结 Java 中的匿名内部类是一种特殊的内部类,它没有名字,因此也称为匿名类。匿名内部类是一种简洁的编程方式,能够简化代码编写,但它也有一些限制和特点。 匿名内部类的定义 匿名内部类是...

    java 匿名内部类的使用规范

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...

    16.java匿名内部类.zip

    16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名内部类.zip16.java匿名...

    Java 匿名内部类

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不定义单独类的情况下创建对象。这种类没有名字,通常用作一次性实现某个接口或继承某个类的需求。在Java编程中,匿名内部类主要用于事件处理、回调...

    Java4Android 35_内部类和匿名内部类

    在Java编程语言中,内部类和匿名内部类是两种特殊类型的类,它们为代码的组织和功能实现提供了独特的灵活性。本教程"Java4Android 35_内部类和匿名内部类"深入探讨了这两个概念,旨在帮助开发者更好地理解和运用它们...

    java内部类详解

    内部类主要分为四种类型:静态内部类、成员内部类、局部内部类和匿名内部类。 1. 静态内部类(Static Inner Class) 静态内部类与普通的类类似,只是它们定义在外部类中,并且前面带有 `static` 关键字。它们不会...

    Java内部类总结

    Java内部类主要包括以下几种类型:成员内部类(非静态内部类)、静态内部类(也称为静态嵌套类)、局部内部类和匿名内部类。 - **成员内部类**:这种类型的内部类是定义在外部类的一个成员位置上,它可以访问外部类...

    java内部类的讲解

    4. **匿名内部类(Anonymous Inner Classes)**:匿名内部类没有名字,它们通常用于实现接口或继承类。在创建匿名内部类的实例时,不需要单独定义类,而是直接在实例化时提供实现细节。匿名内部类特别适用于需要快速...

    使用内部和匿名类优化Java代码

    Java 1.1 引入了内部类和匿名类,这两种特性极大地增强了代码的灵活性和可读性。内部类是指定义在另一个类内部的类,它可以是静态的或非静态的,根据其是否需要访问外部类的实例成员来区分。静态内部类与普通类的...

    Java语法总结 - 内部类

    内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部类。 成员内部类 成员内部类是定义在外部类的成员变量中的一种内部类。它可以访问外部类的所有成员变量和方法,包括私有的变量和方法。成员内部...

    JAVA 内部类 PPT

    - 定义事件处理器,如Swing中的匿名内部类。 - 实现特定的逻辑关联,使得代码结构更清晰。 - 创建闭包,实现函数式编程风格(Java 8及以上版本)。 8. **访问控制** - 与顶级类相比,成员内部类可以具有更广泛...

    Java中的内部类和匿名类

    Java 中的内部类和匿名类 Java 中的内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在 C++ 里也有,那就是嵌套类(Nested Class)。内部类从表面上看,就是在类中又定义了一个类,而实际上并没有那么...

    java内部类总结(含概念和实例)

    4. 匿名内部类:匿名内部类是指没有名字的内部类,通常用在创建实例时使用。 为什么需要内部类? 内部类提供了某种进入其外围类的窗口。使用内部类最吸引人的原因是,每个内部类都能独立地继承自一个(接口的)...

    java 内部类应用

    4. 匿名内部类:没有名字的内部类,通常用于快速实现接口或抽象类的简单版本,常用于事件监听器等场合。 二、内部类的使用 内部类的应用广泛,以下是一些常见场景: 1. 实现回调:通过内部类,我们可以创建匿名...

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

    总结一下,内部类、匿名内部类和内部接口在Java编程中提供了一种强大的工具,它们可以帮助我们更好地组织代码,实现封装和模块化。在Android开发中,它们常用于事件监听、线程管理、回调函数等场景,增强了代码的...

    Java 内部类

    成员内部类方便访问外部类的私有成员,方法内部类常用于匿名内部类的创建,而静态内部类则允许我们不依赖外部类实例来创建对象。理解并熟练运用这些内部类,可以极大地提高Java编程的能力和效率。在实际开发中,根据...

    JAVA内部类总结

    内部类分为四类:非静态成员内部类、静态成员内部类、局部内部类和匿名内部类。接下来将逐一介绍这四种类型的内部类。 #### 二、非静态成员内部类 非静态成员内部类是最常见的一种内部类形式,它具有以下特点: 1...

Global site tag (gtag.js) - Google Analytics