内部类的概念与分类(成员内部类,局部内部类,匿名内部类)
概念 分类 内部 成员 匿名 局部
2023-09-11 14:22:57 时间
目录
前言
内部类,就是一个类内部包含另一个类,即一个事物的内部包含着另一个事物。
例如:身体和心脏 、汽车与发动机之间的关系。
一、成员内部类
1.间接方式,在外部类的方法中使用内部类,main只调用外部类中的方法
Body
package demo07;
public class Body { //外部类
public class Heart{ //成员内部类
//内部类方法
public void beat(){
System.out.println("内部类中的方法beat");
System.out.println("心脏跳动~~~~~");
}
}
//外部类方法
public void methodBody(){
System.out.println("外部类中的方法methodBody");
System.out.println("这是我的身体~~~~~");
Heart heart = new Heart(); // 可写成 new Heart().beat(); 匿名对象
heart.beat();
}
}
demo07InnerClass
package demo07;
public class demo07InnerClass {
public static void main(String[] args) {
Body body = new Body();
//通过外部类的对象,调用外部类的方法,里面间接再使用内部类Heart
body.methodBody();
}
}
可以看见在out下的内部类文件命名规则是 外部类$内部类.class
运行结果 !
2.直接方式 使用公式直接新建一个内部对象
类名称 对象名 = new 类名称();
外部类名称.内部类名称 对象名 = new 外部类名称().new 外部类名称();
Body.Heart heart = new Body().new Heart();
把这条公式插入到demo07InnerClass 中 使用heart.调用内部类方法
二、局部内部类(包含匿名内部类)
如果一个类是定义在一个方法内部的,那么这是一个局部内部类。只有当前所属的方法能使用它,出了这个方法外面就不能用了。
1.建一个局部内部类
package demo09;
public class Outer {
public void MethodOuter(){
class Inner{ // 局部内部类
public void methodInner(){
System.out.println("内部方法");
}
}
Inner inner = new Inner();
inner.methodInner();
}
}
2.调用局部内部类
调用普通外部类方法MethondOuter 方法内自己调用局部内部类methodInner
package demo09;
public class Demomain {
public static void main(String[] args) {
Outer obj = new Outer();
obj.MethodOuter();
}
}
总结
定义一个类的时候的权限修饰符
外 部 类 :public / default
成员内部类:public / protected / (default)/private
局部内部类:什么都不能写
相关文章
- memcache概念浅谈及名称混乱之区分
- 领域驱动设计(DDD)部分核心概念的个人理解
- 掌握元数据知识看这一篇就够了:从元数据概念、分类、作用、管理及目标、挑战到规划及体系设计等
- IO多路复用概念介绍
- spark分区增减、JavaFX基本操作和HDFS NN DN概念
- SAP ABAP Netweaver 里的 ABAP 会话概念
- 关于 Angular 编程中的 shim 概念
- 什么是 ecommerce 的 distributor 概念以及如何实现 website redirect
- 电商云里 Product bundling 的一些概念
- Atitit 写的计算机技术类的书 与it类紧密的学科 atiitt it学科体系化 体系树与知识点概念大总结 v3 t88.xlsx 门类学科一级分类专业、二级学科分类课程 书籍 工学
- TF学习——Tensorflow框架之基础概念、设计思路、常用方法之详细攻略
- k8s-网络概念和etcd优化
- 概念理解:外包、众包
- Zookeeper概念介绍
- 掌握面向对象程序设计继承和派生机制的概念
- 路由概念、协议分类、路由信息三种来源及路由基本配置操作
- 掌握元数据知识看这一篇就够了:从元数据概念、分类、作用、管理及目标、挑战到规划及体系设计等
- 进程的概念和分类
- 第28讲:Python中字典对象的核心概念以及使用案例
- 第⑦讲:Ceph集群RGW对象存储核心概念及部署使用