草庐IT

内部的

全部标签

java - 内部类对象如何驻留在内存中?

外层outer=newOuter();Outer类的Object在堆上创建,引用变量指向它。如果我写的时候理解正确Outer.Innerinner=outer.newInner();Inner类的对象在堆上创建,inner指向它。在堆中,我们有两个独立的对象,它们包含自己的实例变量。但是如果我写Outer.Innerinner=newOuter().newInner();仍然会在堆上创建两个Object,一个用于Outer,另一个用于Inner。但是引用inner只有InnerObject's成员是可访问的。谁在引用堆上的外部Object?如果它没有被任何引用引用,那么它应该有资格进行

java - 创建泛型类的公共(public)内部类的实例

所以我有如下内容:publicclassEnclosing>{//non-relevantcodesnippedpublicclassInner{privateTvalue;publicInner(Tt){value=t;}}}万物皆可编译,天下皆大欢喜。但是,每当我尝试创建Enclosing.Inner的实例时如下,我不行:newEnclosing.Inner(5);出现以下错误:CannotallocatethemembertypeEnclosing.Innerusingaparameterizedcompoundname;useitssimplenameandanenclosin

java内部类方法访问

我有一个外部类。我还有一个扩展JPanel的私有(private)内部类。这是代码的设计。publicclassOuter{privateclassInnerextendsJPanel{publicvoiddoSomeWork(){}}publicOuter(){Innerinner=newInner();inner.doSomeWork();}publicstaticvoidmain(Stringargs[]){Outerouter=newOuter();}}我无法从外部类访问内部类的doSomeWork()方法。请帮忙。 最佳答案

java - 多线程如何破坏Hashmap的内部结构

在Java8fortheReallyImpatient中,Horstmann写道:IfmultiplethreadsmodifyaplainHashMap,theycandestroytheinternalstructure.Someofthelinksmaygomissing,orevengoincircles,renderingthedatastructureunusable.(Section6.2.1)我能理解不同步的并发访问会破坏我的数据。如果两个线程更新相同的值,一个可以覆盖另一个。但是为什么以及如何破坏内部存储器结构? 最佳答案

java - 为什么我不能创建一个泛型类型的内部类数组?

以下代码给出了“通用数组创建”错误。publicclassTestClass{Entry[]entry;privateTestClass(){entry=newEntry[10];//我想知道这是为什么,因为Entry类不是泛型类并且没有泛型类型的对象。是因为内部类仍然可以访问泛型类型,即使它不使用任何泛型类型吗?这是我能想到的最好的办法,但如果是这样的话,我不明白为什么Java看不到它不使用泛型类型,因此它不是泛型类?是的,我看过很多关于泛型类型数组的帖子,但是没有,我还没有找到一个关于内部类的帖子。 最佳答案 类型其实是Test

java - java如何实现从内部内部类访问封闭类?

我在一个内部类中创建了一个内部类:publicclassEnclosingClass{publicclassInnerClass{privateEnclosingClassgetEnclosing(){returnEnclosingClass.this;}publicclassInnerInnerClass{privateInnerClassgetEnclosing(){returnInnerClass.this;}privateEnclosingClassgetEnclosingOfEnclosing(){returnEnclosingClass.this;}}}}令我惊讶的是,ja

java - 实际中如何使用内部类

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion为什么有人会使用内部类?使用本地类或子类可以实现相同的功能。也将不胜感激。

java - 匿名内部类内部方法

请看下面的代码:importjava.util.ArrayList;importjava.util.List;classMain{publicstaticListmodifiedList(finalListlist){returnnewArrayList(){@Overridepublicbooleanadd(Telement){super.add(element);returnlist.add(element);}};}publicstaticvoidmain(String[]args){ListoriginalList=newArrayList();ListduplicateLis

java - 为什么使用私有(private)锁而不是内部锁?

在阅读有关同步的内容时,我遇到了封装可变状态的“监视器模式”。下面是示例代码publicclassMonitorLock{privatefinalObjectmyLock=newObject();Widgetwidget;voidsomeMethod(){synchronized(myLock){//Accessormodifythestateofwidget}}用私有(private)锁代替内在锁在任何方面都更好吗? 最佳答案 是的-这意味着您可以看到所有可能获得该锁的代码(抛开反射的可能性)。如果您锁定this(我假设您指的是“

java - 为什么Java中的Set数据结构内部使用Map?

我想知道为什么HashSet使用HashMap,TreeSet使用TreeMap,LinkedHashSet在内部使用LinkedHashMap?因为Set只是携带和存储键而不是值,所以使用额外的内存空间不是不经济吗?HashMap的Entry内部类如下classEntryimplementsMap.Entry{finalKkey;Vvalue;Entrynext;finalinthash;.......}对于Set我们真的不需要那个Vvalue变量,对吗?那么在内部使用map对象的好处和主要原因是什么? 最佳答案 更少的代码、更少