首页 > 其他分享 >day2

day2

时间:2024-05-09 23:25:30浏览次数:23  
标签:部类 内部 静态 day2 Inner 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.使用内部类

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

相关文章

  • 敏捷冲刺day2--数字工匠队
    这个作业属于哪个课程软件工程这个作业的要求是什么项目冲刺这个作业的目标冲刺日志2站立式会议照片工作困难有部分知识不知道,要额外学习昨日完成工作用户登录前面前端初版今日计划工作登录界面前后端处理项目燃尽图每日总结陈家谦:继续学习陆靖:继续......
  • 【未整合】数学 day2.2
    概率论在OI中,认为概率是事件的固有属性。将事件的集合称为概率空间。用\(\omega\)表示事件。认为随机变量\(X,Y\)独立,当且仅当\(P(X=x\text{且}Y=y)=P(X=x)\timesP(Y=y)\)恒成立。两者互为充要。令\(P(A|B)\)代表在\(B\)发生的条件下\(A\)发生的概率。得......
  • 【未整合】数学 day2
    线性代数若一个函数是线性的,当且仅当\(f(x+y)=f(x)+f(y)\)且\(f(cx)=cf(x)\)。定义域和值域都是实数的线性函数是正比例的。确定了,不如自学。重新定义线性,将\(c\)视作”数“,将\(x\)和\(f(x)\)都视作”可运算的元素“。本质上就是一种映射。向量在OI中,定义向量是......
  • day29-JavaScript(1)
    1、JavaScript的历史1.1、JavaScript的历史JavaScript因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。1990年底,欧洲核能研究组织(CERN)科学家TimBerners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(WorldWideWeb),从此可以在网......
  • day27-HTML
    1.web开发1.1、最简单的web应用程序importsocketsock=socket.socket()sock.bind(("127.0.0.1",8800))sock.listen(5)while1:print("serverisworking...")conn,addr=sock.accept()recv_data=conn.recv(1024)conn.send(b"HTTP/1.......
  • day26-python操作MySQL和实战
    1.事务innodb引擎中支持事务,myisam不支持。CREATETABLE`users`(`id`int(11)NOTNULLAUTO_INCREMENTPRIMARYKEY,`name`varchar(32)DEFAULTNULL,`amount`int(11)DEFAULTNULL)ENGINE=InnoDBDEFAULTCHARSET=utf8;例如:李杰给武沛齐转账100,那就会......
  • day25-索引和函数及存储过程
    1.索引在数据库中索引最核心的作用是:加速查找。例如:在含有300w条数据的表中查询,无索引需要700秒,而利用索引可能仅需1秒。mysql>select*frombigwherepassword="81f98021-6927-433a-8f0d-0f5ac274f96e";+----+---------+---------------+------------------------------......
  • day24-SQL强化和实践
    1.SQL强化根据上图创建数据库&表结构并录入数据(可以自行创造数据)。class表:createtableclass(cidintnotnullauto_incrementprimarykey,captionvarchar(16)notnull)defaultcharset=utf8;student表createtablestudent(sidintnotnul......
  • day23-必备SQL和表关系及授权
    1.必备SQL语句上一节讲解了最基础SQL语句:增删改查,其实在日常的开发中还有很多必备的SQL语句。这一部分的SQL语句都是围绕着对表中的数据进行操作的。提示:今天的所有操作我都只会在MySQL自带的客户端工具上进行操作。例如:现在创建如下两张表。createdatabaseday26dbdef......
  • 数据结构的练习day2(未完待续)
    数据结构线性结构之单向循环链表的基本操作/***********************************************************************************************************设计单向循环链表的接口****Copyright(c)[email protected]......