`
- 浏览:
2555 次
- 性别:
- 来自:
广州
-
内部类学习总结
1.1.1. 内部类的分类
成员内部类、
局部内部类、
静态内部类、
匿名内部类(GUI中用到)
1.1.2. 成员内部类
内部类和外部类的实例变量可以共存。
在内部类中访问实例变量:this.属性
在内部类访问外部类的实例变量:外部类名.this.属性。
成员内部类的特点:
1.内部类作为外部类的成员,可以访问外部类的私有成员或属性。
2.编译出现outer.class和outer$inner.class两类。
3.成员内部类不能有静态属性和方法
在Outer类实例化: Inner in = new Inner() ;
在外面:Outer.Inner in = new Outer().new Inner() ;
1.1.3. 局部内部类
在方法中定义的内部类称为局部内部类。
1.与局部变量类似,在局部内部类前不加修饰符public和private,其范围为定义它的代码块。
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。 如果一个对象编译时的类型是接口,那么其运行的类型为实现这个接口的类。因匿名内部类无构造方法,所以其使用范围非常的有限。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...
Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他...在实践过程中,不断学习和总结,你将成为Java编程的专家。
这篇总结将深入探讨匿名内部类的相关知识点。 1. **匿名内部类的概念** 匿名内部类是内部类的一种特殊形式,它没有类名,常用于一次性创建的对象,特别是在需要实现一个接口或继承一个类,但又不需要额外的方法时...
### Java视频学习总结知识点 #### 抽象方法与抽象类 在Java中,抽象方法是一种没有具体实现(方法体)的方法,它仅提供方法签名,而具体的实现留给子类完成。一个类如果包含一个或多个抽象方法,那么这个类必须被...
### Java 学习基本知识总结 #### Java基础入门 ##### Java语言概述 - **起源与发展**:Java由Sun Microsystems公司于1995年推出,最初由James Gosling设计。它是一种面向对象、跨平台的高级编程语言。 - **特点**...
通过本文的学习,我们了解了如何使用Java反射技术来获取内部类中的静态成员变量的值。反射技术虽然强大,但也需要注意其使用场景和可能带来的负面影响。希望本文能帮助大家更好地理解和掌握Java反射技术的应用。
### Java内部类访问规则 #### 一、内部类概述与定义原则 在Java编程中,内部类(Inner Class)是一种特殊类型的类,它被定义在另一个类(外部类)的内部。内部类的一个主要用途是在描述一个外部类的对象时能够包含...
### Java学习笔记——内部类详解 #### 一、引言 Java中的内部类是一个非常有用但又容易让人感到困惑的概念。内部类本质上是在另一个类的内部定义的类,它可以访问外部类的所有成员变量和方法,甚至是私有成员。...
以下是对Java学习的详细总结: 一、简介 Java由James Gosling于1995年在Sun Microsystems公司开发,最初设计用于电视顶盒,但后来因其“一次编写,到处运行”(Write Once, Run Anywhere)的理念,迅速被广泛应用在...
### 核心Java集合框架学习总结 #### 一、概述 在Java编程语言中,集合框架是一组用于存储和操作对象的接口和类。这些接口和类提供了多种数据组织方式,如列表、集合并和映射等。本篇文章将重点介绍集合框架中的几...
总结来说,Java内部类是一个强大的工具,它可以增强代码的封装性和复用性,尤其是在处理复杂的对象关系和事件监听等场景。通过深入学习和实践,开发者能够更灵活地运用这一特性,提高代码质量。在这个压缩包中的Java...
总结来说,Java IO流是一个庞大的体系,覆盖了从基础的文件操作到复杂的网络通信,理解并熟练掌握这一部分将极大地提升Java开发者的技能。通过学习和实践,开发者可以灵活地处理各种数据输入输出场景,为应用程序...
### Java内部类详解 #### 一、嵌套类概述 在Java编程中,嵌套类是一种重要的面向对象设计工具,它允许程序员在一个类的内部定义另一个类。这种特性极大地增强了Java语言的灵活性和封装能力。 #### 二、嵌套类分类...
这个"java_se 学习总结项目"包含了丰富的Java学习资料,旨在帮助开发者深入理解Java编程语言,提升技能。以下是对这个项目中可能包含的知识点的详细说明: 1. **Java基础**: - **语法特性**:包括变量、数据类型...
Java知识体系总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它以其“一次编写,到处运行”的特性闻名,适用于开发跨平台的应用程序,包括桌面应用、企业...