当前位置: 首页 > news >正文

代码块、内部类(源码级会看即可,成员内部类,静态内部类,局部内部类)

面向对象高级

代码块

packagecom.itheima.code;importjava.util.Arrays;publicclassCodeDemo1{publicstaticStringschoolName;publicstaticString[]cards=newString[54];//静态代码块:有static修饰,属于类,与类一起优先加载,自动执行一次//基本作用:可以完成对类的静态资源的初始化static{System.out.println("静态代码块执行了");//先执行schoolName="黑马程序员";cards[0]="A";cards[1]="2";cards[2]="3";}publicstaticvoidmain(String[]args){//目标:认识代码块,搞清楚代码块的基本作用System.out.println("main方法执行了");//后执行System.out.println(Arrays.toString(cards));//返回数组的内容观察(不然返回的是数组的地址)}}//-----------------分界线-----------------packagecom.itheima.code;publicclassCodeDemo2{publicstaticStringname;publicstaticString[]direction=newString[4];//实例代码块:无static修饰,属于对象,每次创建对象时,都会优先执行一次//基本作用:初始化对象的实例资源{System.out.println("实例代码块执行了");direction[0]="N";direction[1]="S";direction[2]="E";direction[3]="W";}publicstaticvoidmain(String[]args){//目标:实例代码块System.out.println("main方法执行了");newCodeDemo2();//实例代码块执行一次newCodeDemo2();//实例代码块执行一次newCodeDemo2();//实例代码块执行一次}}

内部类

ps:用的不多,主要是为了看懂别人写的代码
前三种搞清楚语法,重点是匿名内部类

成员内部类


packagecom.itheima.innerclass;publicclassInnerClassDemo1{publicstaticvoidmain(String[]args){//目标:搞清楚成员内部类的语法//成员内部类创建对象的格式//外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();Outer.Inneroi=newOuter().newInner();oi.show();//成员内部类访问外部类成员的特点(拓展)://1.成员内部类中可以直接访问外部类的静态成员,静态方法,也可以直接访问外部类的实例成员 ////2.成员内部类的实例方法中,可以直接拿到当前寄生的外部类对象:外部类名.this}}//例题classPeople{privateintheartBeat=100;privateclassHeaer{privateintheartBeat=80;publicvoidshow(){intheartBeat=200;System.out.println(heartBeat);//200System.out.println(this.heartBeat);//80System.out.println(People.this.heartBeat);//100}}}//=================分界线=================packagecom.itheima.innerclass;//外部类publicclassOuter{publicstaticStringschoolName="黑马程序员";publicstaticvoidtest(){System.out.println("test()");}privateintage;publicvoidrun(){}//成员内部类:无static修饰,属于外部类的对象持有的publicclassInner{publicStringname;//构造器publicInner(){System.out.println("Inner() name ="+name);}//有参构造器publicInner(Stringname){this.name=name;System.out.println("Inner(String name) name ="+name);}publicvoidshow(){System.out.println("show()");//成员内部类中可以直接访问外部类的实例成员System.out.println(schoolName);test();//也可以直接访问外部类的实例成员System.out.println(age);run();}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}}}

静态内部类


packagecom.itheima.innerclass2;publicclassTest{publicstaticvoidmain(String[]args){//目标:搞清楚静态内部类的语法//创建对象的格式:外部类名.内部类名 静态内部类对象名 = new 外部类名.静态内部类名();Outer.Innerinner=newOuter.Inner();inner.show();//1.静态内部类中是否可以直接访问外部类的静态成员?可以//2.静态内部类中是否可以直接访问外部类的实例成员?不可以}}//=================分界线=================packagecom.itheima.innerclass2;//外部类publicclassOuter{publicstaticStringschooolName;privateintage;//外部类的实例成员属于外部类的对象,必须用外部类的对象才可以访问//静态内部类:属于外部类本身持有publicstaticclassInner{privateStringname;publicvoidshow(){//1.静态内部类中是否可以直接访问外部类的静态成员?可以System.out.println(schooolName);//2.静态内部类中是否可以直接访问外部类的实例成员?不可以(外部类的实例成员属于外部类的对象,必须用外部类的对象才可以访问)//System.out.println(age);//报错}publicvoidsetname(Stringname){this.name=name;}publicStringgetname(){returnname;}}}

局部内部类

http://www.jsqmd.com/news/150781/

相关文章:

  • 【毕业设计】SpringBoot+Vue+MySQL 农事管理系统平台源码+数据库+论文+部署文档
  • 大模型服务化之路:结合TensorRT镜像与Kubernetes集群管理
  • 15.文本下划线偏移 (text-underline-offset)
  • 告别GPU空转:TensorRT镜像动态批处理功能大幅提升利用率
  • 部门邮箱是个奇怪的存在
  • ESP32固件库下载项目应用:构建WiFi客户端
  • 企业级企业内管信息化系统管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 避坑指南:常见TensorRT镜像转换失败原因及解决方案
  • 中小企业也能玩转大模型?TensorRT镜像降低准入门槛
  • STM32开发必备:Keil uVision5安装全过程图解说明
  • 金融风控实时推理:TensorRT镜像保障毫秒级决策响应
  • ISO抽不出来,却不知道问题在哪
  • 三国之家网站信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • 无人机自主避障系统:视觉感知模型在嵌入式TensorRT运行
  • 新手必看CubeMX安装与J-Link调试器配置指南
  • 游戏NPC智能化:轻量级大模型+TensorRT镜像打造沉浸体验
  • jflash下载实操演练:一个完整的入门示例
  • Keil5汉化包更新后修复策略实战案例
  • HardFault_Handler问题定位核心要点解析
  • STM32多芯片编程:STLink批量烧录实战案例
  • 初学者必备的STM32CubeMX时钟树配置指南
  • 基于STM32的STLink接口引脚图操作指南
  • 为什么顶尖AI公司都在用TensorRT做推理优化?一文讲透原理
  • 用LangChain DeepAgents开发高级AI智能体实战手册(附下载)
  • 工业自动化设备中Gerber输出的Allegro设置
  • Keil C51软件安装环境搭建:初学嵌入式第一步
  • 工业质检视觉系统:缺陷检测模型通过TensorRT达到产线要求
  • IAR下载错误代码分析:快速理解
  • 基于STM32单片机水质检测系统开发 PH TDS采集 鱼塘养殖 温度检测 蜂鸣器报警 成品套件 DIY设计 实物+源程序+原理图+仿真+其它资料
  • 图像梯度处理