2021
08-31
08-31
浅谈Java面向对象之内部类
目录内部类访问外部对象访问内部对象局部内部类匿名内部类静态内部类内部类内部类是定义在另一个类中的类,例如TalkingClock类中内嵌了TimePrinter类:classTalkingClock{privateintinterval;privatebooleanbeep;publicTalkingClock(intinterval,booleanbeep){}publicvoidstart(){}publicclassTimePrinterimplementsActionListener{publicvoidactionPerformed(ActionEventevent){}...
继续阅读 >
昨晚,一同事问到我,怎么利用java反射解析内部类静态成员变量的值,于是顺手写下了。废话不多说,直接上代码!待解析类结构如下:/***@Authorchangle*@Time17/6/13.*@Desctodo*/publicclassGoods{staticclassapple{publicstaticStringversion="iphone6s[是手机不是吃的苹果]";publicstaticStringdate="生产日期2017-06-13";}}获取内部类静态成员变量工具类:/***@Authorchangle*@Time17/6...
在使用java内部类的时候要注意可能引起的内存泄漏代码如下packagecom.example;publicclassMyClass{publicstaticvoidmain(String[]args)throwsThrowable{}publicclassA{publicvoidmethed1(){}}publicstaticclassB{publicvoidmethed1(){}}编译生成了如下文件反编译MyClass反编译MyClassA反编译GlassB从反编译的结果可以知道,内部类的实现其实是通过编译器的语法糖实现的,通过生成...
简介一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或者某些特殊的原因,java并不介意在一个文件中写多个类和多个接口,这就有了我们今天要讲的内部类和内部接口。内部类先讲内部类,内部类就是在类中定义的类。类中的类可以看做是类的一个属性,一个属性可以是static也可以是非static的。而内部类也可以定义在类的方法中,再加上匿名类,总共有5种内部类。静态内部类我们在class内部定...
一、内部类:(1)内部类的同名方法内部类可以调用外部类的方法,如果内部类有同名方法必须使用"OuterClass.this.MethodName()"格式调用(其中OuterClass与MethodName换成实际外部类名及其方法;this为关键字,表示对外部类的引用);若内部类无同名方法可以直接调用外部类的方法。但外围类无法直接调用内部类的private方法,外部类同样无法直接调用其它类的private方法。注意:内部类直接使用外部类的方法与该方法的权限与是否st...