`

内部类生成外部类对象

 
阅读更多

package com.liuc.test.think.chapter9;

 

public class DotThis {

 

public void f(){

System.out.println("DoThis.f()");

};

public class Inner{

public DotThis outer(){

return DotThis.this; //生成对外部类的引用

}

}

public Inner inner(){

return new Inner();

}

public static void main(String[] args) {

DotThis dt=new DotThis();

DotThis.Inner dti=dt.inner();

dti.outer().f();

}

 

}


分享到:
评论

相关推荐

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

    静态内部类可以在类外直接创建对象,不需要外部类的实例,因此它更像一个独立的类。 4. **匿名内部类**:没有名字的内部类,通常用于简短的、一次性使用的代码块。它们可以实现接口或继承类,并且通常用于快速创建...

    JAVA 内部类 PPT

    - 每个内部类都会生成一个单独的`.class`文件,其名称为外部类名加上$和内部类名,例如`OuterClass$InnerClass.class`。 7. **为什么需要内部类** - 内部类的主要用途包括: - 提供更强的封装性,可以隐藏实现...

    java 静态内部类的使用规范

    - Java编译器会为静态内部类生成独立的`.class`文件,文件名为`<外部类名>$<内部类名>.class`。 在实际开发中,遵循以下**使用规范**: 1. **合理命名**:确保内部类的命名清晰,反映其功能或与外部类的关系。 2. *...

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

    内部类的一个主要应用场景是创建与外部类密切相关的辅助类,比如在清单B中,`LinkedList`类的内部定义了`Node`类,这使得`Node`类的逻辑更加封装,仅在`LinkedList`内部使用,提高了代码的可读性和可维护性。内部类...

    内部类详解,看了他就不用看其他资料了

    - 内部类编译后,生成的.class文件名为`<外部类类名>$<内部类类名>`。 7. **嵌套类和局部变量**: - 当局部变量在代码块内被局部内部类引用时,该变量必须是`final`的,因为局部变量在代码块结束时会被销毁,而...

    内部类的理解Java系列2021.pdf

    创建非静态内部类对象之前必须先创建外部类对象,并通过外部类对象调用非静态内部类的构造器来创建实例。 - 静态内部类不需要依赖于外部类的实例,可以直接通过外部类名加.new来创建静态内部类的对象。 5. 编译后的...

    编程语言Java内部类.pdf

    10. 内部类的文件结构:内部类的编译生成的class文件格式与常规类文件格式类似,但是内部类的class文件名会包含外部类的名称,例如Outer$Inner.class。 通过以上知识点,我们可以看出Java内部类是Java语言提供的一...

    JAVA_内部类_反射机制

    创建成员内部类的对象需要通过外部类的对象来完成,如`Outer.Inner inner = outer.new Inner();` 2. 静态嵌套类:静态嵌套类(也称为静态内部类)与成员内部类相似,但它可以用`static`修饰。这意味着它们不与外部...

    java内部类详解共10页.pdf.zip

    Java编译器会为每个内部类生成独立的.class文件,名称以外部类名+内部类名$的形式。在运行时,内部类的对象通过外部类的引用创建。 8. **内部类与接口:** 内部类可以实现一个或多个接口,这使得它们可以作为多态...

    java(Day12)---内部类

    创建成员内部类的对象时,需要通过外部类的对象来实例化,如`内部类名 对象名 = 外部类对象.new 内部类类名(实参列表)`。在外部类的普通方法中,可以使用`this`关键字作为外部类对象,简化为`new 内部类类名(实参...

    java中的内部类总结

    - 编译后,成员内部类会生成如 `Out$In.class` 的字节码文件,表明其与外部类的关联。 2. **局部内部类** - 局部内部类定义在方法或作用域内,只能在这个方法或作用域中使用,它的生命周期与此作用域相同。 - 它...

    内部类简单介绍共6页.pdf.zip

    - Java编译器会为每个内部类生成单独的字节码文件,文件名包含外部类的名称。 总的来说,内部类是Java中一种强大而灵活的工具,能够帮助我们编写更加清晰、结构化的代码。理解并熟练掌握内部类的用法,对于提升...

    JAVA内部类

    1. **独立编译与命名**:内部类虽然是外部类的一部分,但在编译后会被生成独立的`.class`文件,其名称为外部类名加`$`符号加内部类名。 2. **访问权限**:内部类可以访问外部类的所有成员,包括私有成员,这得益于...

    Java内部类_动力节点Java学院整理

    - 编译后的内部类会生成单独的`.class`文件,但名字会带上外部类的名字,如`Outer$Inner.class`。 - 内部类的成员变量和方法可以与外部类同名,因为它们属于不同的命名空间。 总之,Java内部类提供了一种强大的工具...

    精简版本实体类生成工具(可选择是否生成构造方法)

    1. **属性(Fields)**:对应数据库表的列,用private修饰,表示这些属性是内部使用的,外部不可直接访问。 2. **getter和setter方法**:提供对属性的读写操作,遵循Java Bean规范,如`getXXX()`和`setXXX()`。 3. *...

    详细介绍java中的内部类共8页.pdf.zip

    - 编译后,内部类会生成单独的字节码文件,文件名是外部类名加上$加上内部类名。 - 静态内部类则不带$,因为它们与外部类是完全独立的。 8. **优缺点**: - 优点:提供了强大的封装性,可以隐藏实现细节,提高...

    Java内部类.pdf

    - 内部类对象有一个隐式的引用指向创建它的外部类对象,因此可以从内部类访问外部类的状态。 - 编译后会生成如`Outer$Inner.class`这样的类文件。 - 不可以拥有静态成员,除非是`final`类型的。 2. **局部内部类...

    Android学习之内部类

    2. **实例化:**内部类对象依赖于外部类的实例,即内部类的每个实例都隐含地关联着外部类的一个实例。 3. **this关键字:**内部类中的`this`关键字指的是内部类本身的实例,若要引用外部类的实例,则需要使用`Outer....

    完整版 Java初级教程 Java语言程序设计 第6章 内部类和异常类(共22页).ppt

    - 内部类编译后会生成带$符号的.class文件,但它们仍然依赖于外部类。 - 内部类可以直接访问外部类的所有成员,包括私有成员,因为它们被视为外部类的亲密伙伴。 - 成员内部类不能有静态成员,因为它们与外部类的...

Global site tag (gtag.js) - Google Analytics