static java-java中静态方法不能调用非静态方法

问题描述

java中静态方法不能调用非静态方法

静态方法中不能调用非静态方法,那么在静态方法中通过实例化一个非静态的对象,
来实现对非静态方法的调用应该怎么理解
public class test1{
public static void main(string []args){//静态的方法
test2 t=new test2();
t.do;//调用非静态的方法
}
}

class test2{
void do(){}
}

解决方案

静态方法中不能调用非静态方法,原因是因为静态方法没有this指向实例。所以不能有非静态方法。
如果是实例.非静态方法,这有明确的this指向。所以这不是“静态方法中不能调用非静态方法”所描述的意思。

解决方案二:

静态方法的目的就是为了在不创建方法所在的对象时就可以直接调用。
在静态方法中调用别的非静态方法,就是需要先创建对象,然后再用对象的引用调用需要的方法。

时间: 2025-01-31 02:37:56

static java-java中静态方法不能调用非静态方法的相关文章

java-如何从静态方法中调用非静态方法?

问题描述 如何从静态方法中调用非静态方法? 我想从静态方法中调用非静态方法: Class SMS{ public static void First_function() { SMS sms = new SMS(); sms.Second_function(); } public void Second_function() { Toast.makeText(getApplicationContext()Hello""1).show(); // This i anable to dis

android 如何在java代码中方便的调用xml写的布局??

问题描述 android 如何在java代码中方便的调用xml写的布局?? 我想在activity刷新的时候重新生成一些xml写的布局,并放在 "求学"那一栏下: 想问一下有没有什么方便的方法??? 解决方案 可控的话 先加载求学哪里 先设visible为gone. 需要的时候设置为visible 解决方案二: 楼上说得对,先把控件实例化然后把visiblity设为gone 然后调用刷新按钮的时候吧实例传过去,再重新设置visiblity 解决方案三: 一种是隐藏然后显示,最好是用动态

为什么静态方法中不能调用非静态方法或者属性(原理)?

问题描述 2.为什么静态方法中不能调用非静态方法或者属性(原理)?在此感谢! 解决方案 解决方案二:静态方法执行时并没有类的实例解决方案三:引用1楼Icedmilk的回复: 静态方法执行时并没有类的实例

java继承中的super调用

问题描述 java继承中的super调用 最近看到了下面一段代码,都是覆盖父类的方法,为什么onCreate方法就需要调用super.onCreate(..),而onActivityResult(..)方法就不需要调用super.onActivityResult(..)呢?求哪位解释一下 thanks! public class MainActivity extends Activity { ....... @Override protected void onCreate(Bundle sav

PHP静态调用非静态方法

静态调用非静态方法!!这在java,c#中是不可想象的,也是绝对不行的.这样的错误在这些语言中会在编译阶段就被指出错误的.但是对于php这样的动态语言呢?首先这个是语法没有错误的,php –l 找不出错误来的.如果运行呢?   先看一个例子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <?php class myClass {     private $name = "my

PHP静态调用非静态方法的应用分析_php实例

静态调用非静态方法!!这在java,c#中是不可想象的,也是绝对不行的.这样的错误在这些语言中会在编译阶段就被指出错误的.但是对于php这样的动态语言呢?首先这个是语法没有错误的,php –l 找不出错误来的.如果运行呢?先看一个例子 复制代码 代码如下: <?php class myClass {     private $name = "myClass";     public function echoName(){         echo $this->name;

静态方法调用非静态方法

问题描述 publicpartialclassForm1:FormpublicstaticvoidM2K_getUdpMessage(StringBuilderbytData,UInt16wSize){stringszShowData="";szShowData=bytData.ToString();strMsg=szShowData;Console.WriteLine("Message:"+Environment.NewLine+strMsg+Environmen

java类中如何直接调用JSP中定义的bean实例

问题描述 在JSP页面中,定义了<jsp:useBeanid="pool"scope="application"class="dataConnPool.PoolBean"/>然后在编写一个java类,里面想直接调用jsp页面中的pool实例,怎么做? 解决方案 解决方案二:这个需求都被你想出来了请问你要做什么呢解决方案三:看一下tlt文件.

php面向对象中static静态属性和静态方法的调用

 这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下     本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例