我们都知道,静态static方法中不能调用非静态non-static方法,准确地说是不能直接调用non-static方法。但是可以通过将一个对象的引用传入static方法中,再去调用该对象的non-static方法。

其实这个事实的应用很经常,以至于我们不去重视:在主函数(static方法)中我们经常创建某个类的实例,再利用其饮用变量调用它的非静态方法。

//StaticMethodTest.java

//A ststic method cannot call a non-static method, but we can transfer a object reference, which include a non-static metho to the static method, thus, wo can call that non-static method in a indirect way.

public class StaticMethodTest{

void NonStaticMethod(){

System.out.println("This is a non-sataic method.");

}

static void StaticMethod(StaticMethodTest s){

System.out.println("This is a static method.");

s.NonStaticMethod();

}

public static void main(String[] args) {

StaticMethodTest sObj=new StaticMethodTest();

StaticMethod(sObj); //在主函数中可以直接调用静态方法

}

}

========================================

下面的代码可以调用:

=======================

下面的方法无法调用:

java 静态方法 调用非静态方法_java静态方法调用非静态方法相关推荐

  1. java怎么调用存储函数_java中调用存储过程或存储函数的方法

    java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...

  2. java调c 申请内存_JAVA简单调用C/C++语言(JNI学习三)

    JNI的目的是可以使用C/C++完成部分逻辑,一方面 代码复用,避免重复劳动.另外一方面有些东西还是C语言处理起来比较方便,比如和底层驱动程序打交道等等.JAVA调用C/C++方法,就要把参数传递给C ...

  3. java 托管 非托管_java jni调用 非托管 dll

    Step1: 编写java类,e.g.: //filename: HelloWorld.java public class HelloWorld{ public native void display ...

  4. java调用sqlserver存储过程_Java中调用SQLServer存储过程示例

    下面就发布一个完整的采用setXXX(String parameterName, XXX x)的编写方法.创建数据表,存储过程的代码都完整发布. 创建表: CREATE TABLE [BookUser ...

  5. java 反射无参方法_java 反射 调用无参数方法?

    通过Java反射调用无参数方法,这是个测试用的例子,通过反射调用对象的方法,代码如下: import java.lang.reflect.Method; import java.lang.reflec ...

  6. java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换

    这段时间学习java的反射机制想实现一个功能:遍历一个Map,然后利用反射机制调用BO的set方法,完成BO属性的自动注入.这样设计的初衷是解决Excel数据导入问题中的Map数据填充BO这一过程. ...

  7. java如何调用微信功能_Java编程调用微信分享功能示例

    本文实例讲述了java编程调用微信分享功能.分享给大家供大家参考,具体如下: 这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发完成,可使用. 如果想要自定义微信的分享功能,首先在自己的 ...

  8. java 调用matlab函数_java中调用Matlab的函数+注意事项

    一.matlab版本必须支持java 在command 模式下面运行deploytool,如果支持该命令即可使用 二.matlab中function的书写 %定义一个函数operation(a,b), ...

  9. java调用php接口_java 如何调用接口

    在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接 ...

  10. java子类参数传递给父类_java – 为什么调用将父类作为参数的方法调用,而不是将子类作为参数获取的方法?...

    我有一个名为A的类,以及一个名为B的类,它扩展了A. 玩一些方法来理解多态行为,我遇到了一个奇怪的情况. public class Main { public static void main(Str ...

最新文章

  1. extjs4.0视频教程下载
  2. python多态的概念_Python 多态
  3. python人工智能算法很难_为什么AI很火,但是落地很难?
  4. Python之selenium:selenium库的简介、安装、使用方法之详细攻略
  5. windows上运行MapReduce出错(Failed to set permissions of path)
  6. java包管理之maven安装
  7. linux/unix 基本概念的认识(sha-bang 、PPA)
  8. 生活中的数学(为生活建模)(二)
  9. 基于C++实现的贪吃蛇游戏设计
  10. composer如何进行安装和使用
  11. 数字信号处理期末总复习
  12. Java实现支付宝网页支付
  13. html怎么设置p元素居中,CSS 如何使p层水平居中
  14. springboot 报错“LoggerFactory is not a Logback LoggerContext but Logback is on the classpath.” 解决方式
  15. python 查找excel表格中重复的信息并标出来
  16. 第一章 教育基础(01 教育与教育学的产生与发展)
  17. 谷歌小恐龙-有网也能玩儿
  18. Fedora 服务启动管理
  19. PyQt(Python+Qt)学习随笔:QListView的itemAlignment属性
  20. 用 Python 爬取分析每日票房数据

热门文章

  1. 如何查看固态硬盘和机械硬盘是那个盘符
  2. html 手机端无法拖动地图,无法在webview中移动地图
  3. 打造Spring Boot应用时常用到的轮子
  4. android 水滴动画,Android贝塞尔曲线应用-跳动的水滴
  5. 创意svg菜单栏水滴动画
  6. web渗透测试之代码审计
  7. CSP 202112-1 序列查询
  8. 这16个性能测试工具,测试人用了都说好!
  9. Java教程:如何用控制台打印日历?
  10. Log4j2远程命令执行(CVE-2021-44228)复现