黑马程序员技术交流社区
标题:
关于静态static的问题
[打印本页]
作者:
Makise_Kurisu
时间:
2015-12-3 00:05
标题:
关于静态static的问题
为什么不加static的时候无法调用呢?
错误: 无法从静态上下文中引用非静态 方法 function()
一定要加 static吗?
作者:
feng0606
时间:
2015-12-3 00:31
你在main方法里面调用其他方法得吧?这样的话是main方法是static修饰的,因此其他方法也得静态static修饰,这是java规定的.
作者:
jiangshicun007
时间:
2015-12-3 09:21
一句话,静态只能调用静态
作者:
TG·小强
时间:
2015-12-3 11:16
class A
{
void function()
{
System.out.println("A")
}
}
class B
{
pubilc static void main(String [] args)
//主函数为静态。
{
A.function();//编译失败
new A().function();//编译成功
}
}
复制代码
故静态不能直接调用非静态,需要创建对象
作者:
yuanjun52306
时间:
2015-12-3 16:19
静态方法是类加载时就分配空间了,不需要创建对象就可以直接调用;而非静态方法在类加载时还不存在,是需要创建对象才能调用的。所以呢,为什么说静态方法不能调用非静态方法?一个存在的怎么调用一个不存在的呢
作者:
洋葱头头
时间:
2015-12-3 17:21
同楼上 静态只能调用静态
作者:
逆光流浪
时间:
2015-12-3 19:53
两种方法,
1.加static,成为静态方法,就能够调用静态方法了
2.如果想不加static,那么就要实例化一个对象。即给function方法创建一个对象
而且方法名首字母一般是大写的吧。。。
作者:
sun4w
时间:
2015-12-3 23:34
需要实例化一个类,才可以调用方法。
除非调用的是一个静态方法(在类加载的时候这个类就存在了,通过类调用)
作者:
xiao15779706
时间:
2015-12-4 09:09
本帖最后由 xiao15779706 于 2015-12-4 09:10 编辑
静态只能调用静态
非静态既可以访问静态也可以访问非静态
作者:
Yuto吕
时间:
2015-12-4 10:56
如果你把方法定义在主函数的类当中,需要把方法也变成静态方法,如果不想让方法变成静态,需要单独写一个类,然后主函数创建类对象,再调用类方法
作者:
hrfhwy
时间:
2015-12-4 22:12
是的,静态语句优先于对象存在,静态只能调用静态
作者:
奔跑着
时间:
2015-12-5 21:28
静态语句优先于对象存在,静态只能调用静态,不能直接调用非静态,需要创建对象
作者:
虔诚精
时间:
2015-12-5 21:39
学习了……{:2_31:}
作者:
迷茫不堪的年纪
时间:
2015-12-5 23:59
加 static 里是本类里用, 如果不加就成方法了
作者:
wyasln
时间:
2015-12-6 10:29
静态的东西只能引用静态的东西
作者:
静波cl
时间:
2015-12-6 20:58
静态只能访问静态,非静态既能访问静态,也能访问非静态
作者:
小曼_r9qDE
时间:
2015-12-7 00:58
A:static的注意事项 * a:在静态方法中是没有this关键字的 * 如何理解呢? * 静态是随着类的加载而加载,this是随着对象的创建而存在。 * 静态比对象先存在。 * b:静态方法只能访问静态的成员变量和静态的成员方法 * 静态方法: * 成员变量:只能访问静态变量 * 成员方法:只能访问静态成员方法 * 非静态方法: * 成员变量:可以是静态的,也可以是非静态的 * 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。 * 简单记: * 静态只能访问静态。 * B:案例演示
作者:
魏志林
时间:
2015-12-7 08:01
我也遇到过,确实是这样
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2