Java中的内部类使用详情
作者:wx60d4764eb475e 发布时间:2022-07-24 05:09:38
标签:Java,内部类
一,内部类访问成员
1,内部类可以直接访问外部类的成员,包括私有。
2,外部类要访问内部类,必须建立内部类对象。
class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}
void method(){
Inner in = new Inner();
in.function();
}
}
class InnerClassDome
{
public static void main (String[] args)
{
Outer out = new Outer();
out.method();
}
}
二,访问内部类成员
1,直接访问内部类的中的成员
class Outer
{
int x = 3;
class Inner{
void function(){
System.out.println("inner : " + x);
}
}
void method(){
Inner in = new Inner();
in.function();
}
}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();
Outer.Inner in = new Outer().new Inner();
in.function();
}
}
2,访问成员
之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式: 外部类名.this
class Outer
{
int x = 3;
class Inner{
int x = 4;
void function(){
int x = 6;
System.out.println("inner : " + x);
System.out.println("inner : " + this.x);
System.out.println("inner : " + Outer.this.x);
}
}
void method(){
Inner in = new Inner();
in.function();
}
}
class InnerClassDome
{
public static void main (String[] args)
{
//Outer out = new Outer();
//out.method();
Outer.Inner in = new Outer().new Inner();
in.function();
}
}
来源:https://blog.51cto.com/u_15283585/5154338


猜你喜欢
- Java Config 下的Spring Test方式用了三种方式:1.纯手动取bean:package com.wang.test;imp
- 利用apache ftp工具实现文件的上传下载和删除,具体如下1、下载相应的jar包 com
- 解决My eclipse 工程发布时端口占用问题如果运行后如图的错,需要进行如下操作来解决:a:打开cmd,输入netstat -ano 找
- 一, eclipse springboot打war包1. 配置pom.xml文件<packaging>war</packa
- 本文实例讲述了C#自定义控件实现TextBox禁止粘贴的方法。分享给大家供大家参考,具体如下:开发环境:Visual Studio .net
- 导读Lombok:可以让你的POJO代码特别简洁,不止简单在BO/VO/DTO/DO等大量使用,还有设计模式,对象对比等MybatisPlu
- 本文实例为大家分享了C语言实现贪吃蛇小游戏的具体代码,供大家参考,具体内容如下程序介绍代码#include<stdafx.h>?
- C语言求三次方根前话说到C语言求根,我们一般会想到用sqrt(x)函数,它的输入值和返回值都是double型,x取整将会导致编译器错误。但是
- C#中的很多关键词用法比较容易混淆,var和dynamic就是其中一组,他们都可以申明动态类型的变量,但是本质上他们还是有不少区别的。var
- 找了半天没有找到postgresql中关于array数组类型的字段如何对应到java中的数据类型,后来找到了mybatis的TypeHand
- 五一期间原计划是写两篇文章,看一本技术类书籍,结果这五天由于自律性过于差,禁不住各种诱惑,我连电脑都没打开过,计划完美宣告失败。所以在这能看
- 一、JDK中常见的异常情况1、常见异常总结图2、java中异常分类Throwable类有两个直接子类:(1)Exception:出现的问题是
- 用Linq从一个集合选取几列得到一个新的集合-可改列名
- 本文实例为大家分享了C#实现窗体抖动的具体代码,供大家参考,具体内容如下原理:围绕中心点运动一圈方法一:通过线程实现需求:需要using S
- 本文实例为大家分享了Java实现中英文词典功能的具体代码,供大家参考,具体内容如下功能如下:1、可以向词典中增加中英文单词,并提供修改和删除
- 1.常用属性Name:名称;BackColor:设置控件背景颜色;Enabled:是否可用;FlayStyle:控件样式;Image:设置控
- 本文实例讲述了java数据结构排序算法之树形选择排序。分享给大家供大家参考,具体如下:这里我们就来说说选择类排序之一的排序:树形选择排序在简
- File类概述File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。要在
- 一、Android前端实现新建一个login的项目,主要的几个文件在这里1、gradle引入OKhttp3依赖implementation
- 第一步:配置管理器中新建解决方案配置第二步:定义条件编译符号:第三步:在代码中使用自定义的条件编译#if CustomDebugConsol