Java-InnerClass内部类
成员内部类
成员内部类可以访问外部类的所有成员属性和成员方法(包括private成员和静态成员)
当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:外部类.this.成员变量,外部类.this.成员方法
成员内部类可以用private、protected、public修饰
成员内部类中不能定义静态方法(所以成员内部类中没有main方法)
成员内部类不能定义静态变量,静态方法
成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象
在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问
可以定义成员抽象内部类,抽象内部类的抽象方法不能用private、final、static修饰
静态内部类
静态内部类只能调用外部类的静态方法和静态属性
静态内部类不用产生外部类的实例化对象即可产生内部类的实例化对象
静态内部类也可以用private、protected、public修饰
静态内部类可以定义非静态方法和静态方法,也可以定义静态属性和非静态属性
可以定义静态抽象内部类,静态内部类的抽象方法不能用private、final、static修饰
静态内部类中可以有main()方法并且可以执行
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
python 迭代
迭代 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。对于这四个听起来高深莫测的词汇,在教程中,已经涉及到了一个——循环(loop),本经主要介绍一下迭代(iterate),看官在网上google,就会发现,对于迭代和循环、递归之间的比较的文章不少,分别从不同角度将它们进行了对比。这里暂不比较,先搞明白python中的迭代。 逐个访问 在python中,访问对象中每个元素,可以这么做:(例如一个list) >>> lst ['h', 'i', 'e', 'k', 'a', 'y'] >>> for i in lst: ... print i, ... h i e k a y 除了这种方法,还可以这样: >>> ls...
- 下一篇
java-static静态修饰符
静态修饰符 静态方法 可以与 普通方法 或者 静态方法 重载 静态属性 和 静态方法 可以被继承,但是 静态方法 不能被重写 static 不可以修饰局部变量,所以静态方法和非静态方法中的变量都不能定义为静态变量 static可以修饰:属性,方法,代码段,内部类(静态内部类) 静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化,初始化后可以被改变 静态代码块,在虚拟机加载类的时候就会加载执行,而且只执行一次,只能调用静态变量和静态方法; 静态方法中直接不能访问类的非静态成员变量和非静态成员方法,只能直接访问静态成员变量、静态成员方法, 因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用; 非静态成员方法中是可以访问类的静态成员方法/变量 非静态代码块,在创建对象的时候(即new一个对象的时候)执行,每次创建对象都会执行一次; static修饰的属性、方法、代码段跟该类的具体对象无关,不创建对象也能通过类名调用static修饰的属性、方法等。 static 和 this 、super 势不两立,static 跟具体对象无关,而 this 、 su...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,CentOS8安装Elasticsearch6.8.6