- 定义:成员内部类是内部类中最常见的,也称为普通内部类。
-
代码:
//外部类HelloWorld public class HelloWorld{ //外部类的私有属性name private String name = "JAVA"; //外部类的成员属性 int age = 20; //成员内部类Inner public class Inner { String name = "java"; //内部类中的方法 public void show() { System.out.println("外部类中的name:" + HelloWorld.this.name); System.out.println("内部类中的name:" + name ); System.out.println("外部类中的age:" + age); } } //测试成员内部类 public static void main(String[] args) { //创建外部类的对象 HelloWorld o = new HelloWorld (); //创建内部类的对象 Inner inn = o.new Inner(); //调用内部类对象的show方法 inn.show(); } }
-
结果:
外部类中的name:JAVA
内部类中的name:java
外部类中的age:20 -
使用方法:
1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等
2、 Inner 类中定义的 show() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性age
3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );
6、 外部类是不能直接使用内部类的成员和方法滴可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
4、 编译上面的程序后,会发现产生了两个 .class 文件
其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class
5、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。
- 浏览: 6666 次
相关推荐
java 成员内部类的使用规范 java 成员内部类的使用规范
- 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...
java 利用反射获取内部类静态成员变量的值操作.docx
java 匿名内部类的使用规范 java 匿名内部类的使用规范 java 匿名内部类的使用规范
13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部类(类种类).zip13.成员内部...
java 成员内部类使用 内部匿名类 方法参数匿名类 方法匿名类
Java语言中的内部类根据定义的位置和访问权限可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类是定义在类的内部且与类的实例相关联的类;局部内部类是定义在方法或作用域内的类;匿名内部...
1、成员内部类:定义在类中的类,属于类的成员,创建成员内部类对象必须依赖外部类对象。 2、静态内部类:定义在类中的类,class 关键字前加入 static 修饰符,创建静态内部类对象不需要外部类对象。 3、局部内部...
Java 的使用 分别介绍了 成员内部类、方法内部类、静态内部类
内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能...
计算机后端-Java-Java核心基础-第15章 面向对象07 27. 成员内部类中调用外部类的结构.avi
java内部类学习资料,包括成员内部类,匿名内部类,以及内部类代码,和内部类相关总结
Java内部类-成员内部类的总结 关于内部类其他系列(目前没更完) 静态内部类 内部类我推荐大概了解,因为真正的重点不是内部类,我写这些只是为了更好理解 说实话,Java内部类我是理解了很久(2-3天吧),因为经常搞...
成员内部类中不能定义静态代码块,静态属性,静态方法 创建对象的方式: 内部类名 对象名=外部类对象.new 内部类类名(实参列表) 注意: 在该内部类所在的外部类的普通方法中创建该内部类对象 可以使用this作为外部类对象...
10.9内部类 10.9.1基本介绍 10.9.2基本语法 10.9.3快速入门案例 10.9.4内部类的分类 10.9.5局部内部类的使用 10.9.6匿名内部类的使用(重点) ...10.9.9成员内部类的使用 10.9.10静态内部类的使用 10.9.11课堂测试题
本文介绍内部类和匿名类在Java代码中是如何具体工作的,如何正确使用它们,以及如何避免一些常见的错误。 下面来看看这些特性具体是如何工作的? 1、非静态内部类 如果内部类没有指定static修饰符,拥有对...
计算机后端-Java-Java核心基础-第15章 面向对象07 25. 成员内部类的特点.avi
2)当我们建立一个inner class时,其对象就拥有了与外部类对象之间的一种关系,这是通过一个特殊的this reference形成的,当内部类的成员方法中访问某个变量/方法时,如果在该方法和内部类中都没有定义过这个变量,...
计算机后端-Java-Java核心基础-第15章 面向对象07 26. 如何实例化成员内部类.avi
内部类基本概述语法格式成员内部类局部内部类匿名内部类静态嵌套类静态嵌套...成员内部类定义在另一个类或接口中的内部类 注意事项 必须先创建外部类对象才能创建成员内部类对象 不能含有静态变量、静态代码块、静态方