AJPFX总结内部类
内部类:
内部类的访问规则:
1. 内部类可以直接访问外部类中的成员,包括私有
原因是内部类中持有了一个外部类的引用,格式:外部类.this
2. 外部类要访问内部类,必须建立内部类对象
访问格式:
1. 当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类直接建立内部对象
格式:外部类名.内部类名 变量名 = 外部类对象.内部类对象:Outer.Inter in = new Outer().new Inter()
2. 当内部类在成员位置上,可以被成员修饰符所修饰:
比如:
private:将内部类在外部类中进行封装
static: 内部类就有static的特性:但是当内部类被static 修饰后,只能直接访问外部类中的static成员.出现访问局限
在外部其他类中,如何直接访问static内部类非静态成员呢?
new Outer.Inter().function();
在外部其他类中,如何直接访问static内部类的静态成员呢?
Outer.Inter.function();
注意:当内部类中定义了静态成员,该内部类必须是static的
当外部类中静态方法访问内部类中时,内部类也必须是static.
内部类定义在局部时:
1.不可以被成员修饰符修饰
2.可以直接访问外部类中的成员因为还持有外部类中的引用
但是不可以访问他所在的局部中的变量,只能访问被final修饰的的局部变量
匿名内部类:
1.匿名内部类其实就是内部类的简写格式
2.定义匿名内部类的前提:
内部类必须是继承一个类或实现接口
3.匿名内部类的格式: new 父类或接口() {定义子类的内容}
4.其实匿名内部类就是一个匿名子类对象
AJPFX总结内部类的更多相关文章
- AJPFX关于Java内部类及其实例化
public class Outer { private int size; public class Inner { private int counter = 10; ...
- java中的内部类
/** * 内部类 ?? * 定义在一个内部的类,被称为内部类. * 内部类里有类体,方法体 * 内部类所在的类,被称为外部类. * --------------------------------- ...
- java中的内部类总结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液.跳动) 显然, ...
- 错误: 从内部类中访问本 地变量vvv; 需要被声明为最终类型
从github 下载了源码, 进行编译, 出现了下面的错误 E:\downloads\ff\elasticsearch-master\elasticsearch-master>GRADLE :b ...
- Java内部类final语义实现
本文描述在java内部类中,经常会引用外部类的变量信息.但是这些变量信息是如何传递给内部类的,在表面上并没有相应的线索.本文从字节码层描述在内部类中是如何实现这些语义的. 本地临时变量 基本类型 fi ...
- Java内部类学习笔记
20160923 定义:将一个类的定义放在另一个类的内部: 从外部类的非静态方法之外,创建某个内部类的对象:OutClassName.InnerClassName: 内部类拥有所有其外部类的成员的访问 ...
- Android XML中引用自定义内部类view的四个why
今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类v ...
- 静态方法中不能new内部类的实例对象的总结
class Test{ public void main(String[] args){ A testA=new A(); //这里会出现问题 new Thread(new Runnable(){ p ...
- Java内部类与外部类的那些事
昨天去笔试的时候遇到了Java的内部类的创建方式与访问权限的问题,我不懂,没写,故今天起来特意去试验一下,就有了这篇总结性的文章. Java中的内部类又分为非静态内部类(匿名内部类也是非静态的内部类) ...
随机推荐
- java和jar命令
IDEA打可运行jar http://bglmmz.iteye.com/blog/2058785 -jar参数运行应用时classpath的设置方法 你是否在使用java -jar参数运行打包好的ja ...
- ActiveMQ 入门使用p2p模型-主动消费
生产者 package clc.active; import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XmlVisitor; import ...
- nginx配置实战以及查看并发数
http://www.cnblogs.com/kevingrace/p/6095027.html http://www.cnblogs.com/lianzhilei/p/6025267.html
- POJ3045 Cow Acrobats —— 思维证明
题目链接:http://poj.org/problem?id=3045 Cow Acrobats Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- dns服务器报错解决
搭了个dns服务器,配置完毕老是报错,这里总结一下常见思路: ①关闭firewalld ②关闭selinux ③/var/named里面的配置文件所属用户组是否是root:named ④named.c ...
- RedisCluster集群原理
主从复制,数据值每个服务器都存了. 针对redis集群的解决方案, 连接这个集群,不用在乎Master了 6台redis 1.why use Redis? 减轻数据库访问压力 2.持久化 RDB(间隔 ...
- WinDbg 在64位系统下转储32位进程
在64位系统下,首先要判断进程是32位,还是64位 在Win8之前,进程名后带星号(*)则是32位进程.但Win8.1后,则不显示星号.需要选出“平台”列,来确认32位,还是64位. 在64位系统下的 ...
- MVVM模式介绍
MVVM:模型-视图-视图模型(Model-View-ViewModel) 组成部分Model.View.ViewModel View:UI界面 ViewModel:它是View的抽象,负责Vie ...
- mysql忘记root用户密码找回步骤
修改或找回root密码步骤1.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mys ...
- [USACO2012 OPEN] Bookshelf
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2678 [算法] 首先不难想到如下DP : 记f[i]表示前i本书的高度和最小值 显然 ...