2016 - 2024

感恩一路有你

java复合数据类型 非静态方法可以调用静态方法与变量吗?

浏览量:1081 时间:2021-03-12 06:04:49 作者:admin

非静态方法可以调用静态方法与变量吗?

原因很简单,因为静态方法可以直接使用而无需实例化。但非静态方法只能在实例的帮助下使用。如果在静态方法中使用非静态变量,则不能直接使用“无实例化”变量。矛盾。

为什么不能从静态的方法里面调用非静态方法,或变量?

无需初始化即可调用静态方法。例如,学生班有一个静态的方法学习,可以学生学习而不是实例化一个student对象。然而,非静态全局变量只能在对象实例化后绑定到实例化对象时使用,因此存在矛盾。如果静态方法调用非静态变量,则该变量可能不会实例化,因此无法调用。

java非静态方法可以调用静态变量吗?

当然。

1. 静态成员变量和静态成员方法属于类而不是特定实例。静态成员(包括属性和方法)已在类加载阶段初始化,因此当实例访问静态成员时,静态成员必须已经存在,以便可以访问。

2. 另一方面,如果您让静态方法访问实例成员,它将不起作用,因为实例成员的初始化在静态成员之后

&Ltbr>您的主方法是静态的(这永远不能更改),但是Java规定静态方法不能引用非静态变量或方法。因此,在main方法中,您不能访问您首先定义的变量,例如jtextfield、IP1、IP2、IP3、IP4,即使您首先定义它,您仍然必须在main方法中定义它;您不能调用非静态方法,就像if(checkip()==0)一样,这将提示您出错。有两种解决方法<br>。一种是将变量和方法声明为静态的(不建议浪费内存空间)。另一种方法是使用面向对象技术声明一个对象<br>test t=newtest()<br>,然后在t中调用test()方法和成员变量,这样它就不会提示错误。LZ似乎还没有理解Java的思想。初始化可以在构造函数中完成。

java复合数据类型 非静态方法里定义静态变量 非静态方法调用静态方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。