22问答网
所有问题
当前搜索:
非静态方法可以调用静态方法吗
“无法从静态上下文中引用
非静态方法
”这个问题怎么解决?
答:
用static修饰的方法称为静态方法,修饰变量则为静态变量,又分别叫做类方法或者类变量。 静态方法中不能直接
调用非静态方法
。因为非静态方法不是独立存在的,它是依附于对象存在——即只有申明了对象,才能通过对象调用。而静态方法则可以直接通过类名调用,而不需要申明对象。因此直接引用非静态方法就会出错...
C#中的同一个类
非静态方法
为什么
可以
直接
调用
其他非静态方法而不需要ne...
答:
!如果是调
静态方法
,它不属于对象,又分两种情况来
调用
:第一种,在同一个类里直接写:方法名()就可以了,前面不用加类名或对象名;第二种,main在B类里,调用A类的方法,用类名来调啊,要写成:A类名.方法名()。如果你连静态和
非静态
都不懂,我写这么多相当于对牛弹琴了!
为什么
静态方法
不
能调用非静态
的变量和方法
答:
例如Student类有一个
静态方法
study,可以Student.study,而不需要实例化一个Student对象。但是
非静态
的全局变量是需要实例化一个对象后,该变量和实例化的那个对象绑定在一起才能够使用,所以就产生了矛盾,如果静态方法去调用非静态的变量,那么该变量可能还没有被实例化,所以是不
能够调用
的。
java中
静态方法
不是说不能存在
非静态
变量的吗?那为什么这样写又
可以
...
答:
专业:你说法有问题:不是静态方法不能存在非静态变量,而是静态方法不
能调用
非静态变量。现在的变量a仅仅是main方法一部分当然可以存在咯。通俗(举例):静态方法相当于 长辈,
非静态方法
(变量)相当于晚辈。静态方法不能调用非静态变量是因为,当长辈出生的时候,他不知道会有晚辈。而晚辈出生的时候他...
JAVA中没有经过new实例化的对象
可以调用
该类的
方法吗
? 譬如 class Clas...
答:
没有实例是无法调用类中定义的
非静态方法
的,非静态方法必须用 对象.方法(参数)的形式来
调用 静态方法
是可以在不创建对象的情况下直接调用到的,格式为 类名.方法(参数)诚如楼上说的,你这个排版,晕死了,就是贴到集成环境里也得排版好久 差不多理解你的问题了,你的疑问源自对基层的不熟悉和不...
Java中
可以
直接
调用
类中
静态方法
,不用实例化么,详解!原理
答:
静态方法也是类似,但是有一点要强调,静态方法只中不
能调用非静态方法
。因为被
static
修饰的方法会首先被Classloader对象先加载进内存,而这个时候可能其它的非静态方法或者变量还没有被加载进来。就好比我现在想做包子,现在面粉被static修饰,首先已经拿到你身边,可是因为包子馅不是static修饰的,所以可能...
JAVA中 在
static方法
内部
能否调用非静态方法
答:
static方法内部不能直接
调用非静态方法
,可以在调用之前实例化非静态方法所在的类,再用类点方法来调用。例:非静态方法是className类里面的method();className cn=new className();cn.method();这样就可以了。
static方法和
非静态方法
的主要区别 java
答:
static修饰的方法称之为
静态方法
,
static
修饰的变量叫做静态变量。静态方法也好,静态变量也好,在整个程序运行当中都只会实例化一次,而且是在
调用
构造方法之后就会实例。
java为什么不
能
在
静态方法
中使用
非静态
变量
答:
而
非静态
变量是给一个类的实例化对象
调用
的,一个是类调用,一个是类对象调用,所有在
静态方法
中是不能使用非静态变量的。实例:上面出错的原因就是在静态方法中使用了非静态变量,因为静态方法中访问不到非静态变量,解决
办法
,在非静态变量前面加个
static
修饰符即可。这样修改就可以使用了。
java ,为什么无法从静态上下文中引用
非静态方法
答:
因为编译器不知道那个
方法
在哪,两种解决
办法
,一种加
static
修饰,这样在程序运行时就会被加载入内存,另一种创建对象,然后
调用
对象的方法,如 public static void main(String args[]){ TextLinerSearch t = new TextLinerSearch ();t.linearSearch(list,-3);} ...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜