静态方法中调用非静态方法

2023-11-09

1、常见现象

  • 静态static方法中不能直接调用非静态non-static方法,但可以通过将对象引用传入静态方法内,进而再调用该对象非静态(non-static)方法;
  • 在主函数(static方法)中,我们经常需要创建某个类的实例,再引用其非静态方法。

2、代码说明

package com.ypj.java;

import java.util.Stack;

public class StackQueue {
        Stack<Integer> stack1 = new Stack<Integer>();
        Stack<Integer> stack2 = new Stack<Integer>();
        //由于队列是先进先出的,而栈是先进后出的,所以要用2个栈来实现队列的入队出队功能,队列的入队功能与栈的一样
        public void push(int node) {
            stack1.push(node);
        }
        //出队时,先将第一个栈中的元素全部弹出,并倒入到第二个栈中,将第二个栈中栈顶元素弹出,即实现一次出队
        public int pop() {
            if (stack1.empty()&&stack2.empty()){
                throw new RuntimeException();
            }
            if (stack2.empty()){
                while (!stack1.empty()){
                    stack2.push(stack1.pop());
                }
            }
            return stack2.pop();
        }


    public static void main(String[] args) {
            StackQueue stackqueue = new StackQueue();
            int[] arr = {1,2,3,4,5,6};
            for(int i=0;i<arr.length;i++){
                stackqueue.push(arr[i]);
            }

    }
}

由上述代码可知:main()是静态方法,其仅能通过引用实例对象的方式对push()方法进行调用而不能直接调用。

3、结论

在静态方法中,我们不能直接调用非静态方法,而需要通过引用实例对象的方式对其进行调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

静态方法中调用非静态方法 的相关文章

随机推荐

  • el-select下拉框多选远程搜索反显

  • 若依框架前端打包踩坑

    官网 http www ruoyi vip 目录 一 下载并运行项目 二 关于 若依 接口地址配置 2 1 若依的跨域代理介绍 2 2 配置跨域代理 调用后台接口 2 2 1 配置 后台 ip 地址 2 2 2 页面报 系统接口404 错误
  • 创宇技能表_[OPEN]知道创宇研发技能表

    HI 今天夜里 我们开放知道创宇的研发技能表 这个Checklist里大体总结了在知道创宇做研发工作所需具备的技能 包括我们的安全研究员 这份技能表给出了许多的 点 而 面 需要靠自己 否则如何证明自己具备牛逼的学习能力 技能都样样掌握好的
  • base64图片互转

    String a base substring base indexOf 1 GenerateImage a D 1 jpg public static void main String args throws IOException St
  • 使用Nginx发布Vue应用

    使用Nginx发布Vue应用 本教程将指导你如何使用Nginx来发布Vue应用 Nginx是一个高性能的开源Web服务器 可以用于部署静态网页 反向代理和负载均衡等 Vue是一个流行的JavaScript框架 用于构建现代化的单页面应用 步
  • [人工智能-综述-1]:人工智能系统架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 人工智能 综述 1 人工智能系统架构 文火冰糖 王文兵 的博客 CSDN博客 人工智能系统的技术架构 目录 第1部分 什么是人工智能 1 1
  • VLC Activex控件(VideoLAN.VLCPlugin.1 VideoLAN.VLCPlugin.2)的所有方法 属性及使用 在一个老外的网站上找到的...

    无意中在老外的网站上发现了关于VideoLAN VLCPlugin 1和VideoLAN VLCPlugin 2所有方法和属性 公布出来 以免大家浪费时间去寻找 注意你使用的VLC的版本 If you open a link to a vi
  • 构建配置ESP8266 MQTT服务器

    我们将了解ESP8266模块如何通过消息队列遥测传输 MQTT 相互通信 MQTT术语 已经使用了诸如中央代理 主题 发布 订阅之类的术语 因此现在该用类似于邮局的方式来解释它们了 消息是报纸或杂志 代理 这是一个接收客户端消息的软件应用程
  • 数字保留有效数字_分析化学有效数字问题

    一 有效数字位数 1 非整数数据 有效数字为从左端开始首个非零数字算起 至右端最后一个数字 例如 0 0518有3位有效数字 0 05180有4位有效数字 同时注意 在用科学记数法表示数字时 有效数字位数不变 例如 0 05180改写为 2
  • SpringMVC+Freemarker+jQuery实现多语言(国际化)切换

    一 spring启动配置文件修改 其中
  • cuda与driver对应版本

    CUDA Toolkit Toolkit Driver Version Linux x86 64 Driver Version Windows x86 64 Driver Version CUDA 11 4 Update 1 gt 470
  • 数据结构-带头节点的单链表(C语言)超详细讲解

    前面我们学到线性表的顺序存储结构 顺序表 发现它有着明显的缺点 插入和删除元素时需要频繁的移动元素 运算效率低 必须按事先估计的最大元素个数申请连续的存储空间 存储空间估计大了 造成浪费空间 估计小了 容易产生溢出 空间难以扩大 采用链式存
  • 每天Leetcode 刷题 初级算法篇-杨辉三角

    题目要求 力扣题解 代码 import java util ArrayList import java util List program mydemo description this is a class author Mr zeng
  • GraphEdit 的作用和使用

    GraphEdit 是一个用于建立和测试Filter graph 的可视化工具 在DirectX SDK 中附带一个可执行程序版本 在SDK目录中的Bin DXUtils graphedt exe 你可以快速测试你建立的Filter gra
  • ORACLE存储层次以及彻底删除数据的方式

    ORACLE的存储层测氛围四层 表空间 就是实际的数据文件 对应操作系统上的一个数据文件 段 回滚段 数据段 索引段 区 ORACLE分配磁盘空间的最小单元 块 ORACLE操作数据库的最小IO单元 user tables user ind
  • 【手撕代码系列】JS手写实现深拷贝

    公众号 Code程序人生 分享前端所见所闻 深拷贝是在计算机科学中非常重要的概念 尤其是在处理数据结构和对象的时候 深拷贝的目的是创建一个新的对象 它有自己的内存空间 并且其中的所有值都是原始对象的副本 这样做的好处是 可以避免在修改新对象
  • java中字符型常量的表示方法_Java中的常量,常量的表现形式和进制的转换及有符号数据表示法(原码,反码,补码)...

    1 常量 在程序执行的过程中 其值不发生改变的量 分类 1 字面值常量 字符串常量 用双引号括起来内容 字符常量 用单引号括起来的内容 整数常量 所有整数 小数常量 所有小数 布尔常量 true 或 false 空常量 null 2 自定义
  • 游戏行业未来发展趋势分析?

    未来游戏的方向与趋势 今天听了 哥的课程 我更加深入的了解了游戏行业的整体发展历程 这对于我们这一群即将进入游戏行业的校招生而言 无疑是受益匪浅的一节课 我 一个刚刚准备进入游戏行业的小白 大致猜想了游戏未来的几个发展方向与趋势 我认为 游
  • 3椭圆曲线密码学:ECDH和ECDSA

    原文链接 Elliptic Curve Cryptography ECDH and ECDSA 这篇文章是ECC系列的第三篇 在之前的文章中 我们已经知道了椭圆曲线是什么 并且为了对椭圆曲线上的点做一些数学运算我们定义了群公理 然后我们将椭
  • 静态方法中调用非静态方法

    1 常见现象 静态static方法中不能直接调用非静态non static方法 但可以通过将对象引用传入静态方法内 进而再调用该对象非静态 non static 方法 在主函数 static方法 中 我们经常需要创建某个类的实例 再引用其非