本文转载自微信公众号《小菜两集》,作者蔡不才。转载本文请联系小菜良记公众号。本文主要介绍Java中内部类的用法。今天又是周五了。正在想着明天和周六的安排,突然被一个吃惊的声音打断了,小彩。看看这组代码,太灵活了。领桌的小王闻言,吃了一惊。我转过头,看着他的屏幕。这不是内部类吗?当然,用得好也是灵活的,但是我们平时用的不多。内部类的使用真的很灵活。我对这方面还不是很熟悉,看来还需要多了解一下!小菜,你好像挺懂的,能不能介绍一下?看着小菜汪那饥渴的眼神,我不禁有些愧疚,内心活动也异常复杂:我平时不用,只是有个大概的了解,如果我说出来,我会出洋相的,连忙说:说起来容易,不过今天是周五,也不迟,我们想想明天有什么活动,下次来的时候再告诉你星期!小王好像被我忽悠了,没看出我眼里的惊慌,答应下来。还好没有危险,周末还能安排什么,赶紧安排内班!与面向对象程序设计中的其他概念相比,接口和内部类更加深刻和复杂。例如,C++没有这些。将两者结合起来,就可以解决在C++中可以用多重继承解决的问题。但是,事实证明,C++中的多重继承很难使用。相比之下,Java的接口和内部类就容易理解多了!1。如何创建内部类,顾名思义,就是类中的类,在外围类中定义类:publicclassAnimal{classMonkey{privateStringname="monkey";publicStringgetName(){returnname;}}classPig{privateStringcolor;Pig(Stringcolor){this.color=color;}StringgetColor(){returncolor;}}publicvoidgetAnimal(Stringnote){Monkeymonkey=newMonkey();Pigpig=newPig(note);System.out.println(pig.getColor());}publicstaticvoidmain(String[]args){Animalanimal=newAnimal();animal.getAnimal("pink");}}/*OUTPIT:pink*/因为Animal类中定义了Monkey和Pig这两个类,所以使用这些两个内部类与使用普通类没有区别。下面这组代码小伙伴们并不陌生:;Animal.Monkeymonkey=animal.getMonkey();Animal.Pigpig=animal.getPig();}}通过定义方法,返回内部类的引用。不知道细心的朋友有没有发现,内部类的引用有点奇怪:Animal.Monkey。这也是内部类的区别之一。如果要在外部类的非静态方法之外获取一个内部类的对象,需要“具体指定这个对象的类型”:OuterClassName.InnerClassName2.内部和外部相连的内部类存在于外部inner类的这一层也有一定的特权:内部类可以在没有任何特殊条件的情况下访问外部对象的所有成员。此外,内部类还可以访问外部类的所有元素。publicclassOuterArray{privateInteger[]ints;privateintnext=0;publicOuterArray(intsize){ints=newInteger[size];}publicvoidadd(intx){if(next
