`

Java 入门 七 (Java 内部类)

    博客分类:
  • Java
 
阅读更多

 

Java 入门 七 (Java 内部类)

 

说实在话 实际开发中用到内部类的 很少很少几乎就没 就算用到也是用来 匿名内部类 其他 的几乎真心用不到。

 

可以了解下,用来的时候在来看也来得及。很简单的东西。

 

 

注意!~ 内部类相同于 外部类的一个属性 和 外部类的其他属性 是同级的 只不过访问的方式不同 (内部类私有的方法肯定也能被外部类访问)

内部类可以访问外部类的任意变量和方法。

静态方法里面 只能访问 静态变量和静态方法 局部变量


成员内部类


里面只能定义非静态的变量和方法(非静态的 也就是不带关键字static 的变量)

有外部类的引用 外部类名.this 引用


静态内部类


里面定义 静态的变量和方法 非静态的变量和方法

只能访问外部类静态的变量和方法

没有外部类的引用


匿名内部类


经常用来 作为某个类的唯一子类或者 某个接口的唯一实现类(如果要继承的父类 只有有参的构建函数 那么就必须要用super关键字 调用它有参数的构建函数 要不报错)


局部内部类

在外部类方法体中定义的类叫局部内部类,局部内部类能只用 默认修饰符和 final修饰符修饰 abstract修饰符,访问方法的局部变量时,方法的局部变量带final 才能被访问。

 

 

 

内部类总结:


1.首先,把内部类作为外部类的一个特殊的成员来看待,因此它有类成员的访问权限:private ,protected,默认(default),public

它有类成员的修饰符: static,final,abstract

2.非静态内部类nested inner class,内部类隐含有一个外部类的指针this,因此,它可以访问外部类的一切资源(当然包括private)

外部类访问内部类的成员,先要取得内部类的对象,并且取决于内部类成员的封装等级。

非静态内部类不能包含任何static成员.

3.静态内部类:static inner class,不再包含外部类的this指针,并且在外部类装载时初始化.静态内部类能包含static或非static成员.

静态内部类只能访问外部类static成员.

外部类访问静态内部类的成员,循一般类法规。对于static成员,用类名.成员即可访问,对于非static成员,只能用对象.成员进行访问

4.对于方法中的内部类或块中内部类只能访问块中或方法中的final变量。

类成员有两种static , non-static,同样内部类也有这两种

non-static 内部类的实例,必须在外部类的方法中创建或通过外部类的实例来创建(OuterClassInstanceName.new innerClassName(ConstructorParameter)),并且可直接访问外部类的信息,

外部类对象可通过OuterClassName.this来引用

static 内部类的实例, 直接创建即可,没有对外部类实例的引用。

内部类不管static还是non-static都有对外部类的引用

non-static 内部类不允许有static成员

方法中的内部类只允许访问方法中的final局部变量和方法的final参数列表,外部类中的方法和变量也

可以被访问。方法中的内部类不能在方法以外访问.

匿名内部类如果作为接口的实现类,必须实现指定接口的方法. 匿名内部类如果继承某类,参数必须按父类的构造函数的参数传递。

 

 

 

 

 

 

分享到:
评论

相关推荐

    Java入门1·2·3:一个老鸟的Java学习心得.rar 超清

    《Java入门1·2·3:一个老鸟的Java学习心得》是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。《Java入门1·2·3:一个老鸟的Java学习心得》充分考虑了初学Java...

    java入门实例 java入门实例

    【Java 入门实例:classpath 和 package 详解】 学习Java对于初学者来说,尤其是在尝试编译和运行简单程序时,可能会遇到很多困扰。错误信息往往令人困惑,导致一些初学者失去学习信心。实际上,很多问题源于对...

    详细java入门PPT教程

    这份"详细java入门PPT教程"是为初学者精心设计的,旨在帮助新接触Java编程的人快速上手,理解其基本概念和语法,从而轻松步入编程世界。 一、Java语言概述 Java是由Sun Microsystems(现已被Oracle公司收购)于1995...

    JAVA入门基础知识

    ### JAVA入门基础知识详解 #### 一、对象与类的基础概念 在Java编程中,对象(Object)是最基本的概念之一,它是现实世界实体的一种抽象表示。每个对象都有自己的状态和行为,这些状态通常由数据成员(Data ...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    本书是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。本书充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的...

    java入门教程 txt格式

    本"Java入门教程"旨在为初学者提供全面、易懂的学习路径,引导他们踏入这个充满机遇的世界。 首先,Java的核心概念包括面向对象编程(OOP)。OOP是一种编程范式,它将复杂的问题分解为独立的对象,这些对象可以相互...

    JAVA入门课件

    Java入门阶段的学习内容包括了解数据类型、接口、抽象类、内部类等基本概念,以及override(重写)、overload(重载)、final关键字的使用,理解多态、设计模式、泛型、装箱、匿名类和静态类等重要概念。 接下来...

    Java入门练习50题

    - 内部类:学习成员内部类、局部内部类和匿名内部类的用法。 - 泛型:掌握泛型的基本概念,了解泛型类、泛型方法和通配符。 10. **多线程** - 线程的创建:使用Thread类和实现Runnable接口创建线程。 - 线程...

    java新手入门手册

    本文档将介绍 Java 新手入门手册的主要内容,包括 Java 编程风格、类设计、方法设计、变量命名规则等方面的知识点。 类设计 在 Java 中,类是最基本的编程单元。设计一个类时,需要考虑以下几点: * 类名首字母...

    java基础 包含:Java入门 基础语法 JAVA 类和对象 JAVA 高级类 等等

    进入Java的高级主题,你会接触到诸如抽象类、接口、内部类、匿名类、枚举、注解、泛型、集合框架(如ArrayList、LinkedList、HashMap等)以及反射机制等。这些特性增强了代码的灵活性和可扩展性,使Java能够适应各种...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让知识环环相扣,降低了学习的难度 通过大量的比喻、类比、对比和图示等多种讲解方式,学习效果好 对Java语言的每个语法都提供了一个或多个例程讲解 ...

    java语法大全,java语法,java编程基础,java入门

    这份"java语法大全"文档,结合了“java语法”,“java编程基础”,以及“java入门”等核心主题,旨在为初学者提供全面的学习资源,帮助他们理解和掌握Java语言的基本概念和高级特性。 首先,Java语法是学习Java的...

    java基础知识入门_java_world_入门_

    本文将深入探讨Java的基础知识,帮助初学者快速入门。 首先,Java是一种面向对象的语言,它的设计理念是“一次编写,到处运行”(Write Once, Run Anywhere,简称WORA)。这意味着用Java编写的代码可以在任何支持...

    java入门笔记.pdf

    Java入门笔记文档详细阐述了Java编程语言的基本概念、开发工具、编程基础、面向对象编程、多线程、集合框架、IO流、网络编程、安全加密、反射机制、新特性、内存管理等多个方面,为初学者提供了一条通往Java编程世界...

    java 入门ppt

    Java是一种广泛使用的高级编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...对于每个主题,都会详细解释概念、演示示例代码,并给出实践建议,确保你能轻松入门Java编程。

    java入门与提高——一个成就java高手的教程

    "java入门与提高"这个教程旨在帮助新手逐步掌握Java语言的核心概念和技术,最终达到精通的水平。下面将根据教程标题和描述,详细阐述Java编程的基础知识和进阶技巧。 一、Java语言基础 1. **环境配置**:首先,学习...

    JAVA入门教程(十分适合初学者)

    【JAVA入门教程】是专为初学者设计的一套详尽的学习资源,旨在帮助新手快速掌握JAVA编程语言的基础知识。这个教程包含了一系列的Word文档,涵盖了JAVA的起源、它与C/C++的区别,以及JAVA的核心概念,如变量、语法、...

    Java基础入门源代码

    这个"Java基础入门源代码"集合应该是为了帮助初学者理解和实践Java编程基础而设计的。让我们详细探讨一下Java语言的基础知识,以及如何通过源代码学习。 1. **基本语法**:Java的语法与C++和C#类似,它包括类、对象...

    java入门笔记

    "Java入门笔记"可能涵盖以下几个核心知识点: 1. **Java基础知识**:Java的基础始于它的语法和数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)以及布尔型(boolean)。...

    CoreJava(java入门教程总结)

    ### CoreJava(java入门教程总结) 本教程旨在为Java初学者提供一份全面且深入的基础学习资料。作为一门广泛应用于各类软件开发的语言,Java以其强大的功能、跨平台的能力以及丰富的类库支持,成为许多开发者首选的...

Global site tag (gtag.js) - Google Analytics