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

什么网站可以做卡首屏淘口令快速提升排名seo

什么网站可以做卡首屏淘口令,快速提升排名seo,做关于车的网站有哪些,注册商标需要多长时间在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟。事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,…

 

 

  在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟。事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面是Outter.java的代码:

public class Outter {private Inner inner = null;public Outter() {}public Inner getInnerInstance() {if(inner == null)inner = new Inner();return inner;}protected class Inner {public Inner() {}}
}

 

  编译之后,出现了两个字节码文件:

  反编译Outter$Inner.class文件得到下面信息:

E:\Workspace\Test\bin\com\cxh\test2>javap -v Outter$Inner
Compiled from "Outter.java"
public class com.cxh.test2.Outter$Inner extends java.lang.ObjectSourceFile: "Outter.java"InnerClass:#24= #1 of #22; //Inner=class com/cxh/test2/Outter$Inner of class com/cxh/tes
t2/Outterminor version: 0major version: 50Constant pool:
const #1 = class        #2;     //  com/cxh/test2/Outter$Inner
const #2 = Asciz        com/cxh/test2/Outter$Inner;
const #3 = class        #4;     //  java/lang/Object
const #4 = Asciz        java/lang/Object;
const #5 = Asciz        this$0;
const #6 = Asciz        Lcom/cxh/test2/Outter;;
const #7 = Asciz        <init>;
const #8 = Asciz        (Lcom/cxh/test2/Outter;)V;
const #9 = Asciz        Code;
const #10 = Field       #1.#11; //  com/cxh/test2/Outter$Inner.this$0:Lcom/cxh/t
est2/Outter;
const #11 = NameAndType #5:#6;//  this$0:Lcom/cxh/test2/Outter;
const #12 = Method      #3.#13; //  java/lang/Object."<init>":()V
const #13 = NameAndType #7:#14;//  "<init>":()V
const #14 = Asciz       ()V;
const #15 = Asciz       LineNumberTable;
const #16 = Asciz       LocalVariableTable;
const #17 = Asciz       this;
const #18 = Asciz       Lcom/cxh/test2/Outter$Inner;;
const #19 = Asciz       SourceFile;
const #20 = Asciz       Outter.java;
const #21 = Asciz       InnerClasses;
const #22 = class       #23;    //  com/cxh/test2/Outter
const #23 = Asciz       com/cxh/test2/Outter;
const #24 = Asciz       Inner;{
final com.cxh.test2.Outter this$0;public com.cxh.test2.Outter$Inner(com.cxh.test2.Outter);Code:Stack=2, Locals=2, Args_size=20:   aload_01:   aload_12:   putfield        #10; //Field this$0:Lcom/cxh/test2/Outter;5:   aload_06:   invokespecial   #12; //Method java/lang/Object."<init>":()V9:   returnLineNumberTable:line 16: 0line 18: 9LocalVariableTable:Start  Length  Slot  Name   Signature0      10      0    this       Lcom/cxh/test2/Outter$Inner;}

  第11行到35行是常量池的内容,下面先看看第38行的内容:

final com.cxh.test2.Outter this$0;

 

  这行是一个指向外部类对象的指针,看到这里想必大家豁然开朗了。也就是说编译器会默认为成员内部类添加了一个指向外部类对象的引用,那么这个引用是如何赋初值的呢?下面接着看内部类的构造器:

public com.cxh.test2.Outter$Inner(com.cxh.test2.Outter);

  从这里可以看出,虽然我们在定义的内部类的构造器是无参构造器,编译器还是会默认添加一个参数,该参数的类型为指向外部类对象的一个引用,所以成员内部类中的Outter this&0 指针便指向了外部类对象,因此可以在成员内部类中随意访问外部类的成员。从这里也间接说明了成员内部类是依赖于外部类的,如果没有创建外部类的对象,则无法对Outter this&0引用进行初始化赋值,也就无法创建成员内部类的对象了。

 

转载于:https://www.cnblogs.com/hwaggLee/p/4492415.html

http://www.lbrq.cn/news/2539819.html

相关文章:

  • 免费网站整站模板下载网站开发外包
  • 滨海专业做网站的公司百度快照怎么使用
  • 招聘网站套餐费用怎么做分录seo前线
  • 做的最好的微电影网站有哪些抖音流量推广神器软件
  • 关于淘宝店网站建设的可行性报告百度公司电话
  • 人大信息网站建设方案网站的推广方法
  • 做视频链接网站网页搜索引擎
  • 广东省网站免备案安徽网站设计
  • 云南网站建设费用市场营销师报名官网
  • 成都网站搜索优化百度搜索引擎的原理
  • h5商城网站是什么企业培训考试系统
  • 张店好的网站建设的公司网络推广技术外包
  • 建网站需要服务器吗百度怎么发布广告
  • 合肥企业网站建设工网络营销概述ppt
  • qq官方客服在线咨询企业网站优化推广
  • 学校教务网站的设计与实现热点新闻
  • 湖南网站建设企业长安网站优化公司
  • html5做网站网络营销广告名词解释
  • wordpress 搬家乱码网络优化公司有哪些
  • 门窗网站建设杭州seo网站建设靠谱
  • 新沂建设工程交易中心seo 视频
  • 如何策划网络推广方案搜索引擎优化的内容包括
  • 福州网站设计网址怎样在网上推广
  • 那里有专业注册网站建设的如何查看网站权重
  • 一台机器在家创业合肥优化
  • 武汉网站托管公司网址大全下载
  • 做外贸是用什么网站做网站建设及网络推广
  • 设计做图免费网站重庆seo研究中心
  • 网页设计与制作实验报告心得体会seo实战培训学校
  • 装饰公司做宣传网站宣传推广的十种方式
  • 【代码详解】Triplane Meets Gaussian Splatting中triplane部分解析
  • JavaScript 性能优化实战指南:从运行时到用户体验的全面提升​
  • ClickHouse Windows迁移方案与测试
  • 【数据结构】哈希表实现
  • 数据结构:在链表中插入节点(Inserting in a Linked List)
  • FFmpeg+javacpp中纯音频播放