美文网首页
Java--内部类的分类-1

Java--内部类的分类-1

作者: 李赫尔南 | 来源:发表于2022-09-01 08:38 被阅读0次

  在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。

成员内部类(可以使用private、default、protected、public任意进行修饰。类文件:外部类$内部类.class)

a)非静态内部类(外部类里使用非静态内部类和平时使用其他类没什么不同)

  i. 非静态内部类必须寄存在一个外部类对象里。因此,如果有一个非静态内部类对象那么一定存在对应的外部类对象。非静态内部类对象单独属于外部类的某个对象。
  ii. 非静态内部类可以直接访问外部类的成员,但是外部类不能直接访问非静态内部类成员。
  iii. 非静态内部类不能有静态方法、静态属性和静态初始化块。
  iv. 外部类的静态方法、静态代码块不能访问非静态内部类,包括不能使用非静态内部类定义变量、创建实例。
  v. 成员变量访问要点:
  1.内部类里方法的局部变量:变量名。
  2.内部类属性:this.变量名。
  3.外部类属性:外部类名.this.变量名。

【示例】成员变量的访问要点

class Outer {
    private int age = 10;
    class Inner {
        int age = 20;
        public void show() {
            int age = 30;
            System.out.println("内部类方法里的局部变量age:" + age); // 30
            System.out.println("内部类的成员变量age:" + this.age); // 20
            System.out.println("外部类的成员变量age:" + Outer.this.age); // 10
        }
    }
}

  vi. 内部类的访问:
  1.外部类中定义内部类:

new Inner ()

  2.外部类以外的地方使用非静态内部类:

Outer.Inner varname = new Outer ().new Inner() 

相关文章

  • Java--内部类的分类-1

      在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 成员内部类(可以使...

  • Java--内部类的分类-2

    【示例】内部类的访问 输出:  内部类方法里的局部变量age: 30  内部类的成员变量age: 20  外部类的...

  • java se 成员内部类

    一个类内部包含另一个类身体与心脏分类:1、成员内部类2、局部内部类(匿名内部类) 1、成员内部类 注:内用外可直接...

  • 2019-02-01——内部类

    1.静态内部类和成员内部类的用法?2.内部类的修饰符有什么用? 一.关于内部类的分类内部类广义上可分为四种:成员内...

  • Java--内部类的分类-4(局部内部类)

    局部内部类  还有一种内部类,它是定义在方法内部的,作用域只限于本方法,称为局部内部类。  局部内部类的的使用主要...

  • Java--内部类的分类-3(匿名内部类)

    匿名内部类  匿名内部类适合那种只需要使用一次的类。比如:键盘监听操作等等。 语法: 【示例】匿名内部类的使用 注...

  • 2020-09-12 Java内部类、匿名内部类(重要)

    内部类 一个类包含另一个类。被包含的类叫内部类。(身体和心脏的关系)分类:1.成员内部类2.局部内部类(包含匿名内...

  • java之内部类

    一、分类: 1、静态内部类 2、成员内部类 3、局部内部类 4、匿名内部类 二、静态内部类 1、静态内部类可以等同...

  • Java内部类

    一、分类:1、成员内部类2、局部内部类(包括匿名内部类) 二、格式1、成员内部类修饰符 class 外部类名称{...

  • Java基础之内部类

    1、内部类分类: 成员内部类 局部内部类 匿名内部类 静态内部类 2、成员内部类 1.概念: 定义在一个类内部的类...

网友评论

      本文标题:Java--内部类的分类-1

      本文链接:https://www.haomeiwen.com/subject/ciijnrtx.html