------- android培训、java培训、期待与您交流! ----------
- 内部类
内部内的定义原则
当描述事物时.如果事物内部还有事物,这时就需要定义内部类
因为内部事物需要使用到外部事物中的内容
内部类的访问规则:
1.内部部类可以直接访问外部类中的成员,哪怕是私有的
内部内之所以可以访问外部成员,是因为内部类持有对外部类的引用,只是用省月了“外部类.this”关键字
2.外部类如果要访问内部类中的成员,必须通过创建内部类的对象来访问
一点总结:当内部类中的内容描述不需要让外部类访问到时,可将其定义为私有的,然后再给它提供一种外部访问方式即可
访问格式
1.当内部类定义在外部类的成员位置上,而非私有化时,其他外部类可以直接建立该内部的对象
格式:
外部类.内部类 变量=外部类对象.内部类对象
outer.inner n=new outer().new inner();
2.当内部类在成员位置上,就可以被成员修饰符所修饰
比如:private,将内部类在外部类中进行封装
static,将内部类进行静态化后,该内部类只能访问所在外部类的静态成员,访问出现局部性
3,在其他外部类访问内部类的非静态成员:new outer.inner().function();
其他外部类访问内部类的静态成员: outer.inner.function();
注意:如果内部类中定义了静态成员,则该内部类也必须得是静态的
代码示例:
class waibu{ private int x=9; class inner{ public void show(){ System.out.println(waibu.this.x); } } public void method(){ inner i=new inner(); i.show(); } }
- 匿名内部类
1.匿名内部类其实就是对内部类的一种简写格式
2.定义内部类的前提:
内部类必须是继承或实现了一个接口
3.匿名内部类的格式:new 父类或接口(){定义子类的内容}
4.其实匿名内部类就是一个子类对象
5.匿名内部类中定义的方法最好不要超过3个(主要是为了使用起来简单)
class Outer{ private final int x=12; new AbsDemo(){ public void show(){ System.out.println("show:"+x); } } }
相关推荐
黑马程序员——Android移动开发源码
黑马程序员入学Java知识——精华总结
NULL 博文链接:https://xianglachigen.iteye.com/blog/1564376
月薪过万的入门必知知识,黑马程序员入学Java精华总结
Java 黑马程序员入学Java知识(精华总结)
编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级语言。是一种面向Internet的编程...
正在自学黑马程序员Java全套,目前只学了Javase,接下来是Javaweb,把自己整理的笔记分享一下。
|--工具类之Log的封装类 |--工具类之不同log打印的封装 |--工具类之开启新的Activity |--布局加载器的获取 |--广播接收者之开机启动 |--广播接收者之获取管理员权限 |--广播接收者代码注册与卸载 |--广播接收者常用...
黑马程序员 C语言提高课程配套课件 黑马程序员 C语言提高课程配套课件
黑马程序员Javaweb教材源代码,适合学习配套使用
黑马程序员,C++核心编程
《JavaWeb程序设计任务教程》一书源代码,中国工信出版社出版,黑马程序员编著,传智播客旗下高端教育品牌“黑马程序员”项目实战配套用书
黑马程序员c++配套课件 《轻松搞定c++语言》 黑马程序员c++配套课件 《轻松搞定c++语言》
Javaweb基础全课程笔记,黑马程序员上课笔记,主要涉及前端 jsp和servlet等
layui ajax 没有node.js功能都可用,高度类似。 黑马刘龙彬老师主讲的大事件项目,整体看完,给...最后,再次给黑马程序员和刘老师点个赞。 说明--ShowDoc https://www.showdoc.com.cn/escook?page_id=3707158761215217
黑马程序员入学面试题,复习必备,事半功倍。
黑马程序员入学Java知识(精华总结)