Java中的内部类使用详情

 更新时间:2022年04月06日 17:09:12   作者:wx60d4764eb475e  
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟

一,内部类访问成员

  • 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();
}
}

到此这篇关于Java十分钟精通内部类的使用的文章就介绍到这了,更多相关Java 内部类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于springboot中的SPI机制

    关于springboot中的SPI机制

    这篇文章主要介绍了springboot中的SPI机制,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Spring Boot缓存问题分析及解决方案

    Spring Boot缓存问题分析及解决方案

    SpringBoot提供缓存支持,提升应用性能,但可能出现缓存不一致、缓存穿透、缓存击穿等问题,分析了缓存基本概念、SpringBoot缓存支持、常见缓存问题及解决方案,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • springboot neo4j的配置代码

    springboot neo4j的配置代码

    小编最近的工作中遇到了一些知识图谱的工作,自然就用到了图数据库,这一NoSQL 数据库可以很好的展示节点之间的关联关系,对于一些图谱的关系操作是很好的选择,下面来介绍下 Springboot 配置Neo4J的问题
    2021-12-12
  • springmvc常用注解标签详解

    springmvc常用注解标签详解

    本篇文章主要介绍了springmvc常用注解标签详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java创建型设计模式之单例模式

    Java创建型设计模式之单例模式

    Java单例模式是一种设计模式,它确保一个类只有一个实例,并提供一个全局访问点。可以使用多种方式实现单例模式,如饿汉式、懒汉式、双重检查锁定、静态内部类、枚举等,每种方式都有其优缺点,需要根据具体情况选择使用
    2023-05-05
  • java实现屏幕共享功能实例分析

    java实现屏幕共享功能实例分析

    这篇文章主要介绍了java实现屏幕共享功能的方法,以实例形式分析了屏幕共享功能的客户端与服务端的详细实现方法,是非常具有实用价值的技巧,需要的朋友可以参考下
    2014-12-12
  • springboot应用中静态资源访问与接口请求冲突问题解决

    springboot应用中静态资源访问与接口请求冲突问题解决

    这篇文章主要介绍了springboot应用中静态资源访问与接口请求冲突,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java 生成二维码的工具资料整理

    Java 生成二维码的工具资料整理

    本文主要介绍Java 生成二维码的几种方法,这里给大家详细介绍了java生成二维码的三种工具,并附有示例代码供大家参考,开发java 二维码的朋友可以参考下
    2016-08-08
  • Mybatis中输入输出映射与动态Sql图文详解

    Mybatis中输入输出映射与动态Sql图文详解

    这篇文章主要给大家介绍了关于Mybatis中输入输出映射与动态Sql的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • JAVA使用commos-fileupload实现文件上传与下载实例解析

    JAVA使用commos-fileupload实现文件上传与下载实例解析

    这篇文章主要介绍了JAVA使用commos-fileupload实现文件上传与下载的相关资料,需要的朋友可以参考下
    2016-02-02

最新评论