如果函数的局部变量(函数的形参也是局部变量),内部类的成员变量,外部类的成员变量重名,我们应该按下面的程序代码所使用的方式来明确指定我们真正要访问的变量。
package com.cn.test;
public class Outer2 {
private int i;
public class Inner{
private int i;
public void getI(int i){
i++;//引用getI函数的参数
this.i++;//引用内部类中的成员变量
Outer2.this.i++;//引用外部类中的成员变量
}
}
public static void main(String[] args){
}
}
如何在类的外部访问内部类?
package com.cn.test;
class Outer {
int outer_i=20;
void test(){
Inner in=new Inner();
in.display();
}
//内部类
class Inner{
void display(){
System.out.println("out_i="+outer_i);
}
}
}
public class TestInner{
public static void main(String[] args){
Outer outer=new Outer();
//前面加上Outer的对象表示该内部类的对象是属于outer的
//区别于其他对象的内部类
Outer.Inner inner=outer.new Inner();
inner.display();
}
}
分享到:
相关推荐
预备知识 <br>2.1 Java程序设计基础 <br>2.1.1 Java语言规则 <br>2.1.2 Java变量和函数 <br>2.1.3 子类 <br>2.1.4 this和super <br>2.1.5 类的类型 <br>2.1.6 抽象类 <br>2.1.7 接口 <br>2.1.8 包 <br>2.2 JavaBeans...
并且必须在finally从句<br>中释放,如果没有答出在finally中释放不得分.就如Connection没有在finally中关闭一<br>样.连最基本的资源释放都做不好,还谈什么多线程编程.<br>6.EJB规范规定EJB中禁止的操作有哪些?(15分)...
在其它类Unix系统中安装MySQL<br>2.8. 使用源码分发版安装MySQL<br>2.8.1. 源码安装概述<br>2.8.2. 典型配置选项<br>2.8.3. 从开发源码树安装<br>2.8.4. 处理MySQL编译问题<br>2.8.5. MIT-pthreads注意事项<br>...
IP网络中的名字和地址 29<br>4.1 IP寻址 29<br>4.1.1 二进制和十进制数 30<br>4.1.2 IPv4地址格式 30<br>4.2 子网的出现 34<br>4.2.1 分子网 35<br>4.2.2 可变长子网掩码(VLSM) 37<br>4.3 无类域前路由(CIDR) 38<br>...
指导书中的8 个实验如下:<br>1.Java 程序运行环境的下载、安装与配置。<br>2.Java 基本语法的编程练习。<br>3.面向对象编程练习。<br>4.Java 包、接口和异常处理的练习。<br>5.常用系统类的练习。<br>6.窗口...
动态语言支持<br>第5篇 展现层应用<br>第19章 Spring MVC之一<br>第20章 Spring MVC之二<br>第21章 集成其他Web框架<br>第6篇 其他<br>第22章 Spring应用的测试<br>第23章 Spring工具类盘点<br>附录A 各种数据库连接...
动态语言支持<br>第5篇 展现层应用<br>第19章 Spring MVC之一<br>第20章 Spring MVC之二<br>第21章 集成其他Web框架<br>第6篇 其他<br>第22章 Spring应用的测试<br>第23章 Spring工具类盘点<br>附录A 各种数据库连接...
动态语言支持<br>第5篇 展现层应用<br>第19章 Spring MVC之一<br>第20章 Spring MVC之二<br>第21章 集成其他Web框架<br>第6篇 其他<br>第22章 Spring应用的测试<br>第23章 Spring工具类盘点<br>附录A 各种数据库连接...
Maven是Java开发中的一款项目管理和综合工具,它简化了构建、依赖管理以及项目生命周期的流程。本篇文章将深入探讨Maven仓库的概念,介绍如何引入本地包,并详细讲解使用Maven创建可执行jar包的不同方法。 **一、...
这通常在 `pom.xml` 文件中的 `<build><plugins>` 节下完成。 - **创建一个目标** 目标是 Maven 插件中的主要执行单位。每个目标都有一个特定的名称,并且可以在构建生命周期的不同阶段被调用。 - **使用插件配置**...
<artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency> 取消以上代码的注释,将jetty和undertow的引用注释掉,将packaging从jar改为war然后运行maven ...
在第二个例子中,`debug.Test`类的构造函数内部的除法运算出错,异常信息定位在`<init>`方法,表明这是在对象创建过程中执行初始化时发生的。 初始化顺序: 1. 首先,JVM会加载类,并解析类的字节码,这个过程中会...
* -classpath <路径> 指定查找用户类文件的位置 * -cp <路径> 指定查找用户类文件的位置 * -sourcepath <路径> 指定查找输入源文件的位置 * -bootclasspath <路径> 覆盖引导类文件的位置 * -extdirs <目录> 覆盖安装...
可以使用匿名内部类或者更现代的方法(如Lambdas)来测试查询操作: ```java List<Person> persons = jdbcTemplate.query("SELECT * FROM t_person", new PersonRowMapper()); persons.forEach(System.out::println...
在`<ResourceParams>`标签内部,可以通过`<parameter>`元素来设置数据源的各种属性。这些属性主要包括: - **工厂类**: ```xml <parameter> <name>factory</name> <value>org.apache.commons.dbcp....
### Java内部类详解 #### 一、内部类的分类与概念 Java的内部类机制是其强大特性之一,它允许类作为另一个类的成员存在,从而增强了代码的封装性和复用性。根据定义和作用域的不同,Java内部类主要分为四类: 1. ...
<report_to_masters>Y</report_to_masters> <slaveserver> <name>slave4-8084</name> <hostname>localhost</hostname> <port>8084</port> <username>cluster</username> <password>cluster</password> ...
### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...