码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • javase----内部类


    文章目录

    • 内部类
      • 1.内部类概念
      • 2. 局部内部类
      • 3.成员内部类
      • 4.静态内部类
      • 5.匿名内部类

    内部类

    1.内部类概念

    内部类就是把一个类定义在一个类的内部

    内部类的种类:
    分两种情况:

    (1)在类中定义类(成员内部类,静态内部类)
    (2)在方法中定义类(局部内部类,匿名内部类)

    2. 局部内部类

    局部内部类(本地内部类):定义在方法中的类.
    只能在方法中使用,出了方法就无法使用,所以称为局部内部类
    原因:因为方法无法像类一样直接调用成员

    public class Demo1 {
        public void test() {
            //局部内部类,不能在方法外使用
            class  In{
                public int a=100;
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.成员内部类

    成员内部类也叫实例内部类,可以把他当做外部类的一个平台实例成员

    class Out{
        class  In{
            public int  a=100;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注意:
    1.在实例内部类中,不能创建一个静态成员变量
    因为静态成员变量在类加载的时候就会创建,我们正常情况下我们可以直接通过类来访问静态对象而不需要去实例化对象,但是当他在实例内部类中就不能创建,因为内部类无法直接通过外部类访问,必须得创建实例,或者你改成静态内部类
    在这里插入图片描述
    但是我们可以创建静态常量(static final)
    2.如何实例化实例内部类?

    先实例化外部类
    外部类名.内部类名 变量 = 外部类对象的引用.new 内部类();
    因为没有实例化外部类我们就得不到内部类这个对象,更别说实例它了
    在这里插入图片描述
    3. 成员内部类当中,如果包含了和外部类同名的成员变量,那么如何在成员内部类当中访问?

    在这里插入图片描述在这里插入图片描述
    4.如何继承内部类?(了解即可)
    在这里插入图片描述
    4. 当一个类有内部类的时候的字节码文件(了解即可)
    在这里插入图片描述

    格式:外部类名$内部类名.class

    4.静态内部类

    在这里插入图片描述
    注意事项:
    1.如何实例化静态内部类对象
    外部类名.内部类名 变量名= new 外部类名.内部类名()
    因为静态内部类可以直接通过外部类获得,故可以直接创建实例
    2. 静态内部类当中,如何访问外部类的成员变量?

    通过在静态内部类中创建外部类的实例来访问.
    在这里插入图片描述

    5.匿名内部类

    在这里插入图片描述
    通过匿名内部类访问类中方法
    在这里插入图片描述
    通过匿名内部类重写方法
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    JTS:09Touches 接触
    给出32位有符号整数,将这个整数翻转
    【Eclipse】安装教程
    Java练习day3
    SpringMVC - 以 Servlet 3.0 的方式搭建 SSM 框架
    基于Caffeine再次封装的本地缓存工具
    系列二、什么是OOM?什么是StackOverflowError?有哪些方法分析?
    2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵
    信息系统项目管理师考试重点汇总,看完这篇再拿十分!
    市政管理学试题及答案
  • 原文地址:https://blog.csdn.net/m0_60565784/article/details/125543207
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号