不可以。 因为非static方法是要与对象关联在一起的,必须在创建出一个对象后,才可以通过这个对象调用非static方法;而static方法可以直接通过类名来调用,不需要创建对象。 也就是说,在一个static方法被调用时,还可能没有创建任何实例对象,此时如果从static内部发出对非 ...
.static类成员 C primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的, 但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类成员的。 例如A类对象修改了static成员为 ,那么B对象对应的static类对象成员的值也会是 。 ...
2020-03-10 08:13 0 2583 推荐指数:
不可以。 因为非static方法是要与对象关联在一起的,必须在创建出一个对象后,才可以通过这个对象调用非static方法;而static方法可以直接通过类名来调用,不需要创建对象。 也就是说,在一个static方法被调用时,还可能没有创建任何实例对象,此时如果从static内部发出对非 ...
1、由JVM的执行机制决定了在static方法中是不能直接调用改类的其它非static方法的。 因为类方法(static方法)执行的时候,其所在的堆栈中是没有指向对象的引用的任何信息的,而非static方法在调用的时候又必须要知道调用该方法的对象的引用。所以从这里可以看出 ...
静态的属性和方法在内存中的存放地址与非静态的是不同的,静态的是存放在static区,它意味着静态方法是没有this的,所以我们不可以从一个static方法内部发出对非static方法的调用。但是反之是可以的。 静态属性被外部公用,修改之后会被保存。 1、static方法 ...
今天敲代码的时候发现,出现了这样一个情况: 我在我在main方法中调用了一个函数,并且这个函数没有用static修饰,就像这样: 这样报错了!!! 我虽然学Java 的时间也不多,但这个问题也帮助我更深刻的理解了一些东西。 我的方法体中间没有加上static,加上static之后就不 ...
java的calss中,在public static void main(String[] args) { }方法中调用非static的方法:在main方法中创建该calss的对象,用对象调用非static方法 ...
不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方 法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非 ...
不可以。static方法调用时不需要创建对象(可直接调用),当一个static方法被调用时,可能还没有创建任何实例对象,也就不可能调用非静态方法。 ...
如果在该静态方法内创建一个 该非静态方法所在的类的实例,就可以使用此实例来引用,否则如果直接调用是不允许的。 静态方法可以不用创建类的实例而直接调用(本类中直接调用,其他类中如果允许访问则可以直接用类名点 调用),而非静态方法不行。 ...