(十二)java嵌套类和内部类
JAVA 内部 嵌套 十二
2023-09-14 08:57:15 时间
span >
内部类的范围由装入它的类的范围限制,内部类可以访问外部类的成员,包括private修饰的,因为它被当成了外部类的成员,一个类的成员之间是可以相互访问的,但是反过来外部类不能访问内部类的实现细节。
内部类可以被定义在外部类的任何地方,自然也就包括外部类的方法中,在外部类的方法中定义的内部类称为局部内部类,反之为成员内部类,只不过通常局部内部类用的不多。
成员内部类是类的成员,类似类的方法、属性和构造器等,而局部内部类和匿名内部类不属于类的成员。
通常情况,当某个类我们只需要使用一次时,可能会用到匿名内部类,相对来说比较方便。
static修饰的内部类通常叫做静态内部类,有时也叫做类内部类,它是类相关而不是对象相关,因此只能访问外部类的类成员,即也是static修饰的成员。这里要注意的是,即使是静态内部类里边的实例方法也不能访问外部类的非类成员。
静态内部类可以包含静态成员也可以包含非静态成员。
外部类依然不能直接访问静态内部类的成员,但是可以通过静态内部类的类名作为调用者来访问静态内部类的类成员,也可以通过静态内部类的对象来访问非类成员(实例成员)。
java还允许在接口中定义内部类,但是这里的内部类只能是静态内部类,默认public static来修饰。
内部类在外部类以外的地方也可以使用。
匿名内部类不能定义成抽象类,匿名内部类不能定义构造器。
涂宗勋 认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
内部类可以被定义在外部类的任何地方,自然也就包括外部类的方法中,在外部类的方法中定义的内部类称为局部内部类,反之为成员内部类,只不过通常局部内部类用的不多。
成员内部类是类的成员,类似类的方法、属性和构造器等,而局部内部类和匿名内部类不属于类的成员。
通常情况,当某个类我们只需要使用一次时,可能会用到匿名内部类,相对来说比较方便。
static修饰的内部类通常叫做静态内部类,有时也叫做类内部类,它是类相关而不是对象相关,因此只能访问外部类的类成员,即也是static修饰的成员。这里要注意的是,即使是静态内部类里边的实例方法也不能访问外部类的非类成员。
静态内部类可以包含静态成员也可以包含非静态成员。
外部类依然不能直接访问静态内部类的成员,但是可以通过静态内部类的类名作为调用者来访问静态内部类的类成员,也可以通过静态内部类的对象来访问非类成员(实例成员)。
java还允许在接口中定义内部类,但是这里的内部类只能是静态内部类,默认public static来修饰。
内部类在外部类以外的地方也可以使用。
匿名内部类不能定义成抽象类,匿名内部类不能定义构造器。
涂宗勋 认真生活,快乐工作,保持理想!https://blog.csdn.net/tuzongxun
相关文章
- java cloneable 接口_Cloneable 接口 记号接口(标记接口)「建议收藏」
- win7 java修复工具哪个好_DLL修复工具哪个好
- java反射菜鸟教程_Java反射
- java中打印数组的方法_Java数组方法–如何在Java中打印数组
- java打印数组_Java中打印数组的三种方式
- 【说站】java中HttpClient的错误处理
- 【说站】java匿名内部类如何使用
- java socket详解_Java Socket 编程原理及教程「建议收藏」
- JAVA静态内部类_java静态内部类实例化
- intellij怎么创建Java_intellij idea创建java项目
- 反编译Java_java反编译的代码可以修改么
- 【已解决】三种解决方法:Cannot deserialize value of type `java.util.Date` from String
- DFS无向图遍历(JAVA手把手深入解析)
- java压缩与解压(Java.util.zip)详解编程语言
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to详解编程语言
- 管理Linux下Java字体管理实践(linuxjava字体)
- Java 关闭 Redis 连接的指南(java关闭redis)
- 掌握必备技能:Linux下Java命令的使用(java命令linux)
- 如何在Linux系统下成功安装Java?(linux下安装java)
- 进程Linux下创建多个Java进程的简易方法(linux 多个java)
- Linux 服务器快速部署Java开发环境(linux配置java)
- Java编程实现MySQL数据库连接(java连mysql数据库)
- Java与MySQL事务处理(mysql中java事物)
- 合Java与Oracle联手打造崭新未来(java和oracle联)
- java实现文本文件删除空行的示例分享