首页 > 其他分享 >m2_day02 [内部类]

m2_day02 [内部类]

时间:2024-05-10 23:44:05浏览次数:39  
标签:部类 内部 静态 day02 Inner m2 new 共享

课程内容:
  • 什么是内部类?

  • 成员内部类

  • 静态内部类

  • 局部内部类

  • 匿名内部类

  • Java中如何完成数据共享


什么是内部类?
  • 什么是内部类?

    指定义在一个类型(类/接口)当中的类被称为内部类

  • 为什么要使用内部类?

    1.内部类是Java当中共享数据最简单的方式之一
    2.它还能用来表达类和类的专属关系
    *: 内部类也是类 编译之后同样会生成.class文件
          其命名规则为: 外部类名字$内部类名字.class
  • 内部类分为哪几种?

    成员内部类
    静态内部类
    局部内部类
    匿名内部类

成员内部类
1.能够共享外部类哪些内容:
能够共享外部类的所有[静态+非静态]成员[属性+方法]
2.如何理解其与外部类的关系:
蛔虫和牛的关系
3.如何创建其对象:
Outer.Inner in = new Outer().new Inner();

静态内部类
1.能够共享外部类哪些内容:
只能共享外部类的静态成员[属性+方法]
2.如何理解其与外部类的关系:
寄居蟹和蛤蜊壳 == 房客和房东的关系
3.如何创建其对象:
Outer.Inner in = new Outer.Inner();
*: 使用静态内部类 能够共享到的是外部类的静态成员
  静态成员不是内部类也能访问啊
  所以你要明白 静态内部类存在的意义
  并不是为了共享数据的 而是为了
  描述类和类的专属关系

局部内部类
1.能够共享外部类哪些内容:
a:被定义在非静态方法中: 能够共享外部类所有成员
b:被定义在静态方法中: 只能共享外部类静态成员
另外 由于它一定出现在外部类的方法体当中
所以还能共享其所在的外部类方法中的
局部变量 只是JDK8.0之前 必须加final
8.0开始默认就是final
2.如何理解其与外部类的关系:
老师和学生的关系 <旋木>
3.如何创建其对象:
Inner in = new Inner();
*: 注意有位置限定:
定义完成之后 所在方法结束之前

匿名内部类
1.引言:
  1> 如果生个孩子 就是为了拿去卖钱的 就不用给他起名字
2> 在某些场景下 我们自己的名字根本不重要 反而长辈的名字才重要
2.语法:
  new 父类/接口(){
覆盖或者实现抽象方法;
};
2.能够共享外部类哪些内容:
它能够共享外部类的什么 取决于定义它的位置
可能等价于上述三种的某一种!!!

Java当中如何完成数据共享
1.使用静态变量
2.使用参数传递 [构造方法传参]
3.使用内部类

标签:部类,内部,静态,day02,Inner,m2,new,共享
From: https://www.cnblogs.com/zhaodenghui33/p/18185517

相关文章

  • m2_day03 [异常]
    课程内容:什么是异常?为什么要处理异常?如何处理异常?什么是异常?Java当中所有“问题”的体系结构    Throwable[可以向外抛出的]​ErrorException [错误] [异常]​RuntimeException......
  • m2_day04 [线程]
    课程内容:线程的概念引用多线程的原因?如何实现线程?如何控制线程?线程类其它常用方法线程的概念线程所在包:java.lang.Thread理解程序进程线程之间的区别:程序:保存在物理介质中的代码片段​进程:一旦程序运行起来就变成了操作系统当中的一个进程......
  • m2_day06 [线程池]
    课程内容:线程池的概念线程池的种类自定义线程池执行器线程池的概念线程池:所谓线程池是一种标准的资源池模式​资源池模式就是在用户出现之前提前预留活跃资源从而在用户出现的第一时间直接满足用户对资源的需求并且将资源的新建和销毁操作都委托......
  • m2_day05 [线程]
    课程内容:什么是并发错误?如何解决并发错误?什么是死锁?如何解决死锁?锁池和等待池的区别什么是并发错误?并发错误的概念多个线程共享操作同一份数据的时候线程体当中连续的多行操作未必能够连续执行很可能操作只完成另一部分时间片就突然耗尽此时......
  • m2_day2
    课程内容:搭建开发环境配置环境变量第一个程序HelloWorldJava中的软件包结构搭建开发环境:安装jdkwww.Oracle.comSDK=softwaredevelopmentkits=软件开发工具包JDK=java+SDK=java软件开发工具包JRE=javaruntimeenvironment=java运行环境JD......
  • 企业数据保护,从严防内部信息泄露开始
    在当今的数字化时代,数据已成为企业最宝贵的资产之一。然而,随之而来的是数据安全威胁,尤其是内部信息泄露,这不仅会导致企业面临巨大的经济损失,还可能损害企业的品牌形象和客户信任。因此,从严防内部信息泄露开始,成为企业数据保护策略中的重要一环。确立内部数据分类和权限管理企业......
  • 内网渗透测试是一种测试组织内部网络安全的方法,旨在发现和利用网络中的漏洞以及获取未
    内网渗透测试是一种测试组织内部网络安全的方法,旨在发现和利用网络中的漏洞以及获取未授权访问内部资源的能力。以下是内网渗透测试基础的一些主题:理解内网环境:理解目标组织的网络拓扑、子网划分、主机和服务。收集有关内部网络设备、操作系统、应用程序和安全配置的信......
  • 国密算法SM2-java实现
    Maven依赖<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.56</version></dependency>工具类importjava.math.BigInteger;publicclassUtil{......
  • 不让数据随员工走人:防止内部信息泄露的策略
    在企业运营中,维护数据安全是一项至关重要的任务。员工离职携带敏感信息的情况屡见不鲜,这不仅损害企业的商业利益,也威胁到企业的长远发展。华企盾DSC数据防泄密系统提供了一系列解决方案,帮助企业从根本上解决数据安全问题。内部文件流转功能:华企盾DSC能够限制数据只在相关部......
  • Day02
    目录一、等价类划分法案例二、边界值分析法(一)边界范围节点(二)步骤练习(三)优化(四)使用场景三、判定表法(一)判定表法的引入(二)判定表定义及组成部分(三)判定表法设计用例步骤案例(四)使用场景四、场景法五、错误推测法测试用例解决的问题:1,对穷举场景设计测试点(等价类划分法)2,对限定边界规......