普通内部类的访问规则

/*
什么是内部类:类里面的类
好处:内部类可以直接访问外部类的成员(因为内部类中持有外部类的引用 外部类.this)
外部类要访问内部类成员,必须建立内部类对象

  • @author WangShuang
  • */
    public class Test {
    public static void main(String[] args) {
    Outer outer = new Outer();
    outer.omethod();
    Outer.Inner inner = new Outer().new Inner();//内部类的访问方法
    inner.imethod();
    }
    }

class Outer{
private int onum = 1;
class Inner{
int inum = 2;
public void imethod(){
System.out.println(onum);
}
}
public void omethod(){
Inner inner = new Inner();
System.out.println(inner.inum);
}
}

原文地址:http://blog.51cto.com/13579086/2065935

时间: 2024-08-29 22:17:34

普通内部类的访问规则的相关文章

内部类(嵌套类、内置类)访问规则、定义原则、静态内部类、匿名内部类

一.内部类 1.内部类的访问规则: 1.内部类可以直接访问外部类中的成员,包括私有.之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式为:外部类明.this 2.外部类要访问内部类,必须创建内部类对象. 2.访问格式 1.当内部类定义在外部类的成员位置上是,而且非私有,可以在外部其他类中 可以直接建立内部类对象 格式: 外部类明.内部类名 变量名=外部类对象.内部类对象: Outer.Inter in=new Outer().new Inner(); 2.当内部类在成员

JAVA之旅(九)——Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类

JAVA之旅(九)--Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类 天天被一些琐事骚扰,学习还得继续 一.Object类 Object是什么呢?我们可以翻阅JAVA API文档看他的介绍 上面介绍说,object是类层次结构的根类,也就是超类 Object:是所有对象的直接后者间继承关系,传说中的老祖宗,你父亲还有父亲,你父亲的父亲还有父亲是爷爷,这是继承关系,但是你的祖宗却只有一位,该类中定义的肯定是所有对象都具备的功能

c++中派生类对基类成员的三种访问规则(转)

C++中派生类对基类成员的访问形式主要有以下两种:1.内部访问:由派生类中新增成员对基类继承来的成员的访问.2.对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问.今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则. 1.私有继承的访问规则当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问.基类的private成员在私有派生类中是不可直接

ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php       入口文件├─README.md       README文件├─Application     应用目录├─Public          资源文件目录└─ThinkPHP        框架目录 thinkphp 的目录结构 ThinkPHP 的目录结构非常清晰和容易部署.大致的目录结构如下,以项目为基础进行部署. ┎━ThinkPHP 框架系统目录┃ ┝ ThinkPHP.ph

iptables设置访问规则

一.简介 iptables是一个很强大的设置防火墙的工具,可以使用它来限制所有对本机的访问,允许特定的主机.特定的端口才能访问本机,还能设置那些协议能够访问本机.总之,很强大,也很简单. 二.filter chain原理简述 在开始之前,先看一下iptables的filter chain是如何工作的: 注释:当Input进来之后,先通过first chain,如果符合直接本机接收:不符合传给second chain,依次到最后一个chain,着了third不一定是最后的chain,在最后chai

理解Javascript_15_作用域分配与变量访问规则,再送个闭包 【转】

在阅读本博文之前,请先阅读<理解Javascript_13_执行模型详解> 在'执行模型详解'中讲到了关于作用域分配的问题,这一篇博文将详细的说明函数对象.作用域链与执行上下文的关系. 作用域分配与变量访问规则 在 ECMAScript 中,函数也是对象.函数对象在变量实例化过程中会根据函数声明来创建,或者是在计算函数表达式或调用 Function 构造函数时创建.(关于'函数对象'请见<理解Javascript_08_函数对象>).每个函数对象都有一个内部的 [[scope]] 

深入理解Java中为什么内部类可以访问外部类的成员

内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, 但是依然不是很清楚.其中一个疑惑就是为什么内部类对象可以访问外部类对象中的成员(包括成员变量和成员方法)? 早就想对内部类这个特性一探究竟了,今天终于抽出时间把它研究了一下. 内部类就是定义在一个类内部的类.定义在类内部的类有两种情况:一种是被static关键字修饰的, 叫做静态内部类, 另一种是

JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?

本文主要记录:在JAVA中,(局部)内部类访问某个局部变量,为什么这个局部变量一定需要用final 关键字修饰? 首先,什么是局部变量?这里的局部是:在方法里面定义的变量. 因此,内部类能够访问某局部变量,说明这个内部类不是在类中定义的内部类,而是在方法中定义的内部类,称之为:局部内部类. 局部变量的作用域:局部变量是在某个方法中定义,当该方法执行完成后,局部变量也就消失了.[局部变量分配在JVM的虚拟机栈中,这部分内存空间随着程序的执行自动回收],也即:局部变量的作用域是在 “方法的范围内”.

定义在方法中的内部类能否访问该方法的局部变量?

定义在方法中的内部类当然是可以访问方法中的局部变量的,访问的方法就是在局部变量上添加final关键字 (1)内部类是外部类的一个成员,就像外部类的成员方法一样,所以内部类有权限访问外部类的所有成员,包括private的.(2)内部类不能访问外部类方法中的局部变量,除非变量是final的(一般发生在方法中定义的内部类).这是因为局部变量的生命周期原因. class Outer{    private int a;    public class Inner{        private int