`
hanbinglee2174
  • 浏览: 2555 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

java内部类学习总结

 
阅读更多

内部类学习总结


1.1.1内部类的分类

成员内部类、
局部内部类、

静态内部类、

匿名内部类(GUI中用到)


1.1.2成员内部类
   

内部类和外部类的实例变量可以共存。

在内部类中访问实例变量:this.属性

在内部类访问外部类的实例变量:外部类名.this.属性。

   
成员内部类的特点:
    1.内部类作为外部类的成员,可以访问外部类的私有成员或属性。

2.编译出现outer.classouter$inner.class两类。
    3
.成员内部类不能有静态属性和方法


Outer类实例化: Inner in = new Inner()

在外面:Outer.Inner in = new Outer().new Inner() ;


1.1.3局部内部类


在方法中定义的内部类称为局部内部类。

1.与局部变量类似,在局部内部类前不加修饰符publicprivate,其范围为定义它的代码块。

2.局部内部类不仅可以访问外部类实例变量,而且可以访问外部类的局部常量

3.在类外不可直接访问局部内部类(保证局部内部类对外是不可见的)。 在方法中才能调用其局部内部类。
4.方法里面实例化内部类,要在内部类定义之后

5.访问方法中的局部变量是,变量只能是final才能访问。
1.1.4静态内部类

静态内部类定义在类中,任何方法外,用static定义。

静态内部类只能访问外部类的静态成员。

 生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:

Outer.Inner in=new Outer.Inner()

而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类。

Outer.this.xxxx是访问对象变量的。。。。。。。

 

Outer.xxx访问静态变量

1.1.5匿名内部类

匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口。

类和方法里面都可以定义

IA被定义为接口。

IA I=new IA(){};

注:一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类,没有类名,根据多态,我们使用其父类名。

因其为局部内部类,那么局部内部类的所有限制都对其生效。

匿名内部类是唯一一种无构造方法类。 匿名内部类在编译的时候由系统自动起名Out$1.class。 如果一个对象编译时的类型是接口,那么其运行的类型为实现这个接口的类。因匿名内部类无构造方法,所以其使用范围非常的有限。

0
0
分享到:
评论

相关推荐

    Java内部类总结

    ### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...

    java 匿名内部类的使用规范

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他...在实践过程中,不断学习和总结,你将成为Java编程的专家。

    内部类知识总结3--匿名内部类

    这篇总结将深入探讨匿名内部类的相关知识点。 1. **匿名内部类的概念** 匿名内部类是内部类的一种特殊形式,它没有类名,常用于一次性创建的对象,特别是在需要实现一个接口或继承一个类,但又不需要额外的方法时...

    java视频学习总结

    ### Java视频学习总结知识点 #### 抽象方法与抽象类 在Java中,抽象方法是一种没有具体实现(方法体)的方法,它仅提供方法签名,而具体的实现留给子类完成。一个类如果包含一个或多个抽象方法,那么这个类必须被...

    Java 学习基本知识总结

    ### Java 学习基本知识总结 #### Java基础入门 ##### Java语言概述 - **起源与发展**:Java由Sun Microsystems公司于1995年推出,最初由James Gosling设计。它是一种面向对象、跨平台的高级编程语言。 - **特点**...

    java 利用反射获取内部类静态成员变量的值操作.docx

    通过本文的学习,我们了解了如何使用Java反射技术来获取内部类中的静态成员变量的值。反射技术虽然强大,但也需要注意其使用场景和可能带来的负面影响。希望本文能帮助大家更好地理解和掌握Java反射技术的应用。

    Java内部类访问规则.doc

    ### Java内部类访问规则 #### 一、内部类概述与定义原则 在Java编程中,内部类(Inner Class)是一种特殊类型的类,它被定义在另一个类(外部类)的内部。内部类的一个主要用途是在描述一个外部类的对象时能够包含...

    java学习笔记(内部类)汇集

    ### Java学习笔记——内部类详解 #### 一、引言 Java中的内部类是一个非常有用但又容易让人感到困惑的概念。内部类本质上是在另一个类的内部定义的类,它可以访问外部类的所有成员变量和方法,甚至是私有成员。...

    java学习总结.doc

    以下是对Java学习的详细总结: 一、简介 Java由James Gosling于1995年在Sun Microsystems公司开发,最初设计用于电视顶盒,但后来因其“一次编写,到处运行”(Write Once, Run Anywhere)的理念,迅速被广泛应用在...

    corejava集合框架学习总结.pdf

    ### 核心Java集合框架学习总结 #### 一、概述 在Java编程语言中,集合框架是一组用于存储和操作对象的接口和类。这些接口和类提供了多种数据组织方式,如列表、集合并和映射等。本篇文章将重点介绍集合框架中的几...

    JavaDemo14032003(内部类).zip

    总结来说,Java内部类是一个强大的工具,它可以增强代码的封装性和复用性,尤其是在处理复杂的对象关系和事件监听等场景。通过深入学习和实践,开发者能够更灵活地运用这一特性,提高代码质量。在这个压缩包中的Java...

    《JAVA_IO流学习总结》

    总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...

    Java内部类(innerclass).docx

    ### Java内部类详解 #### 一、嵌套类概述 在Java编程中,嵌套类是一种重要的面向对象设计工具,它允许程序员在一个类的内部定义另一个类。这种特性极大地增强了Java语言的灵活性和封装能力。 #### 二、嵌套类分类...

    java-se 学习总结项目 Java学习资料

    这个"java_se 学习总结项目"包含了丰富的Java学习资料,旨在帮助开发者深入理解Java编程语言,提升技能。以下是对这个项目中可能包含的知识点的详细说明: 1. **Java基础**: - **语法特性**:包括变量、数据类型...

    java知识体系总结

    Java知识体系总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它以其“一次编写,到处运行”的特性闻名,适用于开发跨平台的应用程序,包括桌面应用、企业...

Global site tag (gtag.js) - Google Analytics