【精选】Java面向对象进阶——静态内部类和局部内部类

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

静态内部类

代码

局部内部类

代码


静态内部类

  • 静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象。
  • 静态内部类是一种特殊的成员内部类
  • 直接创建静态内部类对象方式:outer.inner oi = new outer.inner();
public class Car {//外部类
      string carname;
      int carage;
      int carcolor;
      static class engine{//静态内部类
        string enginename;
        int engineage;
      }
}

创建静态内部类对象的格式: 外部类名.内部类名 对象名=new 外部类名.内部类名();

调用非静态方法的格式: 先创建对象,用对象调用

调用静态方法的格式: 外部类名.内部类名.方法名();

代码

类:outer

package demon5;

public class outer {
    int a = 10;
    static int b = 20;
    //静态内部类
    static class inner{
        public void show1(){
            System.out.println("非静态的方法被调用");
        }
        public static void show2(){
            System.out.println("静态的方法被调用了");
        }
    }
}

测试类:test

package demon5;

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
    //创建静态内部类的对象
    //只要是静态的东西,都可以用类名点直接获取
        outer.inner oi = new outer.inner();
        oi.show1();

        //静态方法调用
        outer.inner.show2();
    }
}

局部内部类

  • 1.将内部类定义在方法里面就叫做局部内部类,类似于方法里面的局部变量。

  • 2.外界是无法直接使用,需要在方法内部创建对象并使用。

  • 3.该类可以直接访问外部类的成员,也可以访问方法内的局部变量。

代码

类:outer

package demon1;

public class outer {
    int b = 20;
    public void show(){
        int a = 10;
        //局部内部类
        class inner{
            String name = "zhangsan";
            int age = 2;
            public void method1(){
                System.out.println(a);
                System.out.println(b);
                System.out.println("局部内部类中的method1方法");
            }
            public static void method2(){
                System.out.println("局部内部类中的method2方法");
            }
        }
        //创建局部内部类的对象
        inner i = new inner();
        i.method1();
        inner.method2();
        System.out.println(i.age);
        System.out.println(i.name);
    }
}

测试类:test

package demon1;

public class test {
//局部内部类
//将内部类定义在方法里面就叫做局部内部类,类似于方法里面的局部变量。
//外界是无法直接使用,需要在方法内部创建对象并使用。
//该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
public static void main(String[] args) {
    outer o = new outer();
    o.show();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/412571.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud有哪些组件

什么是SpringCloud? Spring Cloud是基于Spring Boot的分布式系统开发工具,它提供了一系列开箱即用的、针对分布式系统开发的特性和组件,用于帮助开发人员快速构建和管理云原生应用程序。 Spring Cloud的主要目标是解决分布式系统中的常见问题…

FL Studio Fruity Edition2024中文入门版Win/Mac

FL Studio Fruity Edition2024是一款功能强大的音乐制作软件,适合初学者和音乐爱好者使用。它提供了丰富的音乐制作工具,包括音频录制、编辑、混音以及MIDI制作等功能,帮助用户轻松创作出动人的音乐作品。 FL Studio 21.2.3 Win-安装包下载如…

Linux之定时任务①(实施必会!!!)

文章目录 常见脚本一、 什么是crond二、crond的使用场景一、apache服务器监控三、crond服务四、命令格式五、cron格式六、定时任务备份七、数据库定时备份八、使用shell脚本发送邮件 常见脚本 [rootlocalhost ~]# vim apacheSentry.sh#!/bin/bash # author: tt # description:…

DAY34--learning English

一、积累 1.listless 2.sanction 3.inflict 4.stung 5.droplet 6.rot 7.soil 8.welfare 9.flock 10.mitigate 11.incubation 12.feces 13.urine 14.odor 15.sprinkle 16.guresome 17.slaughter 18.antibiotic 19.certify 20.tray 二、练习 1.牛津原译 Listless adj. /ˈlɪst…

【毛毛讲书】【老而不衰的科学】长寿的秘诀究竟是什么?

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容&#xff…

用GGUF和Llama .cpp量化Llama模型

用GGUF和Llama .cpp量化Llama模型 什么是GGML如何用GGML量化llm使用GGML进行量化NF4 vs. GGML vs. GPTQ结论 由于大型语言模型(LLMS)的庞大规模,量化已成为有效运行它们的必要技术。通过降低其权重的精度,您可以节省内存并加快推理…

IP 电话

1 IP 电话概述 IP 电话是在互联网上传送多媒体信息。 多个英文同义词: VoIP (Voice over IP) Internet Telephony VON (Voice On the Net) 1.1 狭义的和广义的 IP 电话 狭义的 IP 电话:指在 IP 网络上打电话。 广义的 IP 电话:不仅仅是…

二 线性代数-向量

1、向量的表示方法: 其中的 i、j、k是坐标轴方向的单位向量。 2、向量的模: 用坐标计算的方法: 3、向量的运算: 3.1 向量的加法减法: 3.2 向量的数乘: 拉格朗日乘数法的 基础 公式。 3.3 向量的数量积&a…

分布式ID生成方案详解

✨✨ 祝屏幕前的您天天开心 ,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一. UUID(Universally …

mysql的增删改查(常用)

增(insert) 语法: insert into 表名(字段) values( 字段对应的值) 案例: 创建一个学生表 结构如下: create table student(id int ,name varchar(20),age int); 向表中插入2条数据 create table student(id int ,n…

设计模式-结构型模式-组合模式

组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“部分—整体”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性,又可以称…

24考研成绩查询时间已公布!附最全查分攻略!

2月26日早上9点起! 2024考研初试成绩即将公布! 考研初试成绩即将公布,同学们都在紧张地期待着自己的成绩。不同院校的成绩查询入口开通时间有所不同,具体时间请大家查看各自官网的通知。 成绩在哪查?怎么查&#xff1…

亚马逊巨头都在用的自养号大法,赶快get!

随着时间的推移,越来越多做亚马逊生意的朋友开始意识到自养号的重要性。拥有自养号意味着掌握了一手资源,这种自主性让人感到更安全。高权重的买家号可以享有更多的操作权限,也能获得更好的效果。然而,要想成功地养好自养号并不是…

面试经典150题【31-40】

文章目录 面试经典150题【31-40】76.最小覆盖字串36.有效的数独54.螺旋矩阵48.旋转图像73.矩阵置零289.生命游戏383.赎金信205.同构字符串290.单词规律242.有效的字母异位词 面试经典150题【31-40】 76.最小覆盖字串 基本思路很简单,就是先移动右边到合适位置。再移…

Java SpringBoot 获取 yml properties 自定义配置信息

Java SpringBoot 获取 yml properties 自定义配置信息 application.yml server:port: 9090servlet:context-path: /app第一种方法 HelloController package com.zhong.demo01.controller;import org.springframework.beans.factory.annotation.Value; import org.springfram…

SAP中分包后续调整应用实例二(调减)

之前己写过一篇介绍过分包后续调整功能MB04的基本应用。当时的场景是某个原材料由于各方面原因(比如没有维护到BOM中),在委外加工模式成品收货后,并没有消耗或少消耗,这时可以用该事务功能来补充消耗。在生产报工中的M…

集团机构组网

在数字化转型的浪潮中,企业网络需求日益复杂化,尤其是对于大规模的集团机构来说,高效、安全且可靠的网络连接成为了业务发展的关键。传统网络架构已难以满足这些需求,而SD-WAN(软件定义广域网)技术的崛起&a…

【总第49篇】2.3深度学习开发任务实例(2)机器学习和深度学习的对比【大厂AI课学习笔记】

机器学习和深度学习都是用于图片分类任务的强大工具,但它们采用的方法和原理有所不同。下面我将分别解释这两种技术是如何应用于图片分类的,并着重讨论深度学习中的卷积概念。 机器学习在图片分类中的应用 传统的机器学习方法在进行图片分类时&#xf…

干洗行业上门预约解决方案,干洗店洗鞋店小程序开发;

互联网干洗店洗鞋店小程序,企业干洗方案,干洗行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发; 一、干洗店洗鞋店小程序核心功能介绍: 1.(支持上门取送、送货到店、寄存网点、智能衣柜四种下单方式) 用户下单-上门取…

大数据职业技术培训包含哪些

技能提升认证考试,旨在通过优化整合涵盖学历教育、职业资格、技术水平和高新技术培训等各种教育培训资源,通过大数据行业政府引导,推进教育培训的社会化,开辟教育培训新途径,围绕大数据技术人才创新能力建设&#xff0…