原文:java中静态方法中为什么不能使用this、super和直接调用非静态方法

这个要从java的内存机制去分析,首先当你New 一个对象的时候,并不是先在堆中为对象开辟内存空间,而是先将类中的静态方法 带有static修饰的静态函数 的代码加载到一个叫做方法区的地方,然后再在堆内存中创建对象。所以说静态方法会随着类的加载而被加载。当你new一个对象时,该对象存在于对内存中,this关键字一般指该对象,但是如果没有new对象,而是通过类名调用该类的静态方法也可以。 程序最终都 ...

2019-08-26 08:26 0 1650 推荐指数:

查看详情

Java静态方法静态方法调用

Java静态方法静态方法调用是有区别的。 ①静态方法可以直接调用,如下冒泡排序,只需将冒泡方法设为static方法即可直接调用。 ② 静态方法调用,需要使用对象来调用。还是冒泡排序示例,如下 ...

Sun Feb 24 01:07:00 CST 2019 0 8275
静态方法调用静态方法

  静态static方法不能调用静态non-static方法,准确地说是不能直接调用non-static方法。但是可以通过将一个对象的引用传入static方法,再去调用该对象的non-static方法。 在主函数(static方法)我们经常创建某个类的实例,再利用 ...

Thu Feb 23 05:06:00 CST 2017 0 19592
静态方法调用静态方法

有时候面试的时候,面试官会问静态方法里能不能调用静态方法,这时候呢,你的回答是什么呢? 虽然不能直接调用,但是可以间接的调用,可以通过将一个对象的引用传入静态方法,再去调用该对象的静态方法静态方法通过用传进来的对象引用调用静态方法,从而达到静态方法调用静态方法。    ...

Sun Jan 24 02:18:00 CST 2016 1 3927
Java静态方法静态方法的区别

区别: 首先,两者本质上的区别是:静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。而非静态方法是不加static关键字的方法,在类定义时没有占用内存,只有在类被实例化成对象时,对象调用方法才被分配内存。 其次,静态方法只能调用静态 ...

Fri May 21 03:04:00 CST 2021 0 1467
Java 静态方法静态方法的区别

静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员 ...

Thu Dec 10 16:24:00 CST 2015 0 52828
Java 静态方法静态方法的区别

静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员 ...

Wed Dec 09 00:34:00 CST 2015 0 2506
java静态方法调用静态方法

我们都知道,静态static方法不能调用静态(non-static)方法,准确地说是不能 直接 调用non-static方法。但是可以通过将一个对象的引用传入static方法,再去调用该对象的non-static方法。 其实这个事实的应用很经常,以至于我们不去 ...

Mon Aug 14 07:39:00 CST 2017 0 1383
JAVA Main方法调用静态方法

JAVA静态方法只能调用其他,静态方法。main方法都是静态方法,如果想调用其它的方法,要么只能是其它的静态方法。还有一种方法就是将当前类实例化在调用它的静态方法 public class text1{ public static void main(String [] args ...

Wed Jul 18 06:51:00 CST 2018 0 6878
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM