Java---------【java中的内部类的使用】

来源:互联网 发布:sky 知乎 编辑:程序博客网 时间:2024/05/16 00:33

            作为一个初级程序猿,如果你想要跟上大流的脚步,你只有不断的自我学习,自我提升。但是心里总会有另一个声音在骚扰你,你那么努力为了什么?到头来还不是混的一塌糊涂,还不如人家,天天活的逍遥自在,最后同样比你混的好!这时候我会很没有自信的说一句我在做一件有益人类未来发展的事情,我在做自己喜欢做的事情!说完后心里默默的骂自己一句,扯淡,鬼才相信你说的话。好了既然是扯淡,那今天就不说了,我们开始我们的正题,今天我同大家一起学习java中的内部类。

             在初学java的时候只是对内部类有一点印象,感觉非常高深的东西,不是我等菜鸟级别可以理解的,所以从来没有勇气去认真的去学习他。如今的我着实对java有浓厚的感情,所以下意识的想去解决掉自己每一个不懂或者不明白的地方,下面我就分享下我自己的一点关于内部类的理解:

概念:其实就是在类中定义一个类,用的比较少,所以感觉比较陌生。实际就是两个事物,你中有我,我中有你,有扯不清的关系,我们可以用内部类来描述,下面先展示一个实例。

public class out {int num = 4;class in {int num = 3;public void showou() {int num = 5;System.out.println(num);// print 5System.out.println(this.num);// print 3System.out.println(in.this.num);// print 3System.out.println(out.this.num);// print4}}public void showin() {in BLF = new in();BLF.showou();}}
在使用内部类的时候需要注意几点:
     1.内部类可以直接使用外部类的成员。

     2.外部类使用内部类的成员时,必须通过对象调用。

匿名内部类的使用:他其实是内部类的一种简写方式,就是他没有名字,在使用它一定要有一个前提,那就是必须实现一个接口或者继承一个外部类,下面是具体的实现。

(展示代码):

public interface Interface1 {//定义一个接口 void demo(); void demo2();}public class Out2 {int num = 3;      public void set()    {        Interface1 it1=new Interface1() //在这里我们只是给父类的一个对象的一个名字。你可以直接用new Interfave1()来代替这行内容      {            void show()            {                System.out.println(num);            }            void  haha()            {                            }@Overridepublic void demo() {// TODO Auto-generated method stubSystem.out.println("Hello,I`m david!");}@Overridepublic void demo2() {// TODO Auto-generated method stubSystem.out.println("Hello I`m CAT!!");}        };//对象.show()          //因为我们再头部使用了父类的一个对象,就是对象升级,上升到父类对象,所以在使用时只可以使用父类中有的方法。这里是多态的一个充分的体现。        it1.demo();        it1.demo2();          }  }

上面是匿名内部类的一个展示,其实有时候我们再使用匿名内部类时,我们可以按照参数的形式去传递,下面给大家展示下:

package testPkg6;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubOut2 BLF=new Out2();BLF.set();show(new Interface1()          {     public void demo2() {// TODO Auto-generated method stubSystem.out.println("=====hello=====");}@Overridepublic void demo() {// TODO Auto-generated method stubSystem.out.println("=====hello2======");}          });  }public static void show(Interface1 a){a.demo();a.demo2();}}

以上为内部类的一点学习心得,希望可以与大家分享交流,有问题的可以直接留言.



                                                                                                     每日励志:Live each day as if it is your last.

                                                                                    (要活就要像明天你就会死去一样活着)

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一量血压就紧张怎么办 一紧张就血压高怎么办 不在上班时间在单位受伤怎么办 生活过得太压抑怎么办 高低床踏板断了怎么办 高低床 孩子摔下来怎么办 小孩子太小高低床爬梯怎么办 辞职后单位不发工资怎么办 买了个上下床搬家怎么办 爸妈不让学日语怎么办 把共享单车弄坏了怎么办 裙子沾到单车油怎么办? 外穿的短裤卷边怎么办 蹬完单车膝盖疼怎么办 夏天骑摩托太热怎么办 半框眼镜线断了怎么办 镜片从镜框脱了怎么办 干活累的肩膀痛怎么办 干活累的肩膀疼怎么办 骑山地车手腕和脖子疼怎么办? 布艺沙发坐软了怎么办 篮球护臂太大了怎么办 豪爵摩托车没电怎么办 西装裤裤脚太宽怎么办 全棉衣服有异味怎么办 羊剪绒毛领褪色怎么办 篮球鞋买大2码怎么办 新鞋穿着脚累怎么办 买了国产乔丹怎么办 跑完1000米吐了怎么办 翻毛鞋脚染色了怎么办 翻毛皮被染色了怎么办 防鹿皮绒鞋染色怎么办 亚瑟士跑鞋挤脚怎么办 亚瑟士跑鞋很紧怎么办 飞线鞋面破了怎么办 新袜子穿了很滑怎么办 鞋底硬脚底板疼怎么办 新鞋前面太硬怎么办 新鞋子鞋底太硬怎么办 不到一米八的身高想扣篮怎么办