(1)内部类可以直接访问外部类的成员,包括private成员,但是,内部类的成员不能被外部类直接访问。
(2)内部类对象保存了一个对外部类对象的引用,当内部类的成员方法访问某一个变量时,如果该方法的内部和内部类中都没有定义过这个变量,内部类中对this的引用会被传递给那个高峰外部类对象的引用。
package com.cn.test;
public class Outer {
int outer_i=20;
void test(){
Inner in=new Inner();
in.display();
}
//内部类
class Inner{
int outer_i=100;
void display(){
System.out.println("out_i="+outer_i);
}
}
public static void main(String[] args) {
Outer out=new Outer();
out.test();
}
}
输出结果:out_i=100
package com.cn.test;
public 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 static void main(String[] args) {
Outer out=new Outer();
out.test();
}
}
输出结果:out_i=20
(3)用static修饰的内部类,实际上相当于一个在类外定义的类,相当于建一个新的类是一样的
分享到:
相关推荐
多形性<br>7.1 上溯造型<br>7.1.1 为什么要上溯造型<br>7.2 深入理解<br>7.2.1 方法调用的绑定<br>7.2.2 产生正确的行为<br>7.2.3 扩展性<br>7.3 覆盖与过载<br>7.4 抽象类和方法<br>7.5 接口<br>7.5.1 Java的“多重...
Java基本的程序设计结构<br>3.1 一个简单的Java应用程序<br>3.2 注释<br>3.3 数据类型<br>3.4 变量<br>3.5 运算符<br>3.6 字符串<br>3.7 输入输出<br>3.8 控制流程<br>3.9 大数值<br>3.10 数组<br>第4章 对象与类<br...
Java基本的程序设计结构<br>3.1 一个简单的Java应用程序<br>3.2 注释<br>3.3 数据类型<br>3.4 变量<br>3.5 运算符<br>3.6 字符串<br>3.7 输入输出<br>3.8 控制流程<br>3.9 大数值<br>3.10 数组<br>第4章 对象与类<br...
Java基本的程序设计结构<br>3.1 一个简单的Java应用程序<br>3.2 注释<br>3.3 数据类型<br>3.4 变量<br>3.5 运算符<br>3.6 字符串<br>3.7 输入输出<br>3.8 控制流程<br>3.9 大数值<br>3.10 数组<br>第4章 对象与类<br...
第3版 机械工业出版社<br> 教学内容和要求<br>知识点 重要程度 使用频度 难度<br>Java 入门 高 中 易<br>变量和运算符 高 高 中<br>控制结构 高 高 易<br>数组 高 高 中<br>方法 很高 高 中<br>封装 很高 很高 难...
预备知识 <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>...
TCP/IP和Internet 8<br>2.1 一段历史 8<br>2.1.1 ARPANET 8<br>2.1.2 TCP/IP 9<br>2.1.3 国家科学基金会(NSF) 9<br>2.1.4 当今的Internet 12<br>2.2 RFC和标准化过程 12<br>2.2.1 获得RFC 13<br>2.2.2 RFC索引 13<br...
在上面的代码中,我们创建了一个匿名内部类来实现 `Comparator` 接口。 此外,`Collections` 类还提供了一些其他排序相关的方法: - **`shuffle(List<?> list)`**:对列表中的元素进行随机排列。 - **`reverse...
4. **利用`Class<T>`作为泛型约束**:有时候,我们可以在泛型类中使用`Class<T>`作为参数或字段,这样可以在运行时获取类型信息。例如: ```java public class MyClass<T> { private final Class<T> clazz; ...
前言<br>一、 上机实验目的<br>上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解Java语言的基本结构和程序设计方法。通过亲手编程掌握Java 语言编程的方法。<br>二、 实验基本内容...
动态语言支持<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包的不同方法。 **一、...
在 Java 中,获取同一路径下所有类及其方法是非常重要的,这样才能对权限进行控制。在本文中,我们将提供一种获取所有类及其方法的方法。 获取同一路径下所有类及其方法 在开发内部可视化系统的“系统功能-功能...
在`<html>`内部,有`<head>`和`<body>`两个主要部分,`<head>`存放元数据(如标题、字符集等),`<body>`则包含实际的页面内容。 2. **元素与属性**:HTML元素如`<h1>`至`<h6>`表示标题,`<p>`表示段落,`<a>`创建...
Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建动态代理等。...