黑马程序员技术交流社区

标题: 写方法时什么时候加static关键字? [打印本页]

作者: wanglv110    时间: 2016-7-14 22:59
标题: 写方法时什么时候加static关键字?
求解决,写方法时什么时候加static关键字?每次写方法时都会习惯性想到public static void,不知道static什么时候该写?什么时候不该写?



作者: 小熊猫2016    时间: 2016-7-14 23:07
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: q123123    时间: 2016-7-14 23:22
一般只有一个类的时候,为了满足主方法中直接不用对象+方法名,直接使用方法的时候,还有就是想不用创建对象,直接类名点调用, 不知道理解的对不对, 或许你也不知道我到底在说什么...
作者: Sachiel    时间: 2016-7-15 00:16
static修饰的,随着类的加载而加载,优先于对象存在,被类的所有对象共享。
作者: 窦晓嵩    时间: 2016-7-15 11:29
楼上是正解
作者: wanglv110    时间: 2016-7-15 12:38
q123123 发表于 2016-7-14 23:22
一般只有一个类的时候,为了满足主方法中直接不用对象+方法名,直接使用方法的时候,还有就是想不用创建对象, ...

你的意思是为了方便类名点调用,所以加static吗
作者: jjccxx12    时间: 2016-7-15 13:15
应该就是静态啊,静态是什么,我也说不清楚。
作者: longforus    时间: 2016-7-15 14:03
这个方法没有使用到具体的实例属性的时候
作者: q123123    时间: 2016-7-15 20:34
wanglv110 发表于 2016-7-15 12:38
你的意思是为了方便类名点调用,所以加static吗

这是其中之一吧,只有一个类,在主方法中, 静态可以直接方法名吧?,不太了解
作者: q123123    时间: 2016-7-15 20:36
q123123 发表于 2016-7-15 20:34
这是其中之一吧,只有一个类,在主方法中, 静态可以直接方法名吧?,不太了解 ...

你可以问老师,不问白不问
作者: 夏萱    时间: 2016-7-15 20:52
你这是打main函数形成的错觉,一般方法都不用static
加static的方法是工具方法,加static的变量是全局变量,加static的代码是优先于类执行的静态代码块
作者: yuxing    时间: 2016-7-15 21:21
两种情况吧: 1 . 你想这个方法和变量 被全部共享的时候 2.你想直接能被class.直接被调用的~
作者: zhoubo    时间: 2016-7-15 21:49
静态方法  随着类的加载而加载,优先于对象存在
作者: wanglv110    时间: 2016-7-15 23:07
夏萱 发表于 2016-7-15 20:52
你这是打main函数形成的错觉,一般方法都不用static
加static的方法是工具方法,加static的变量是全局变量 ...

好像是这么回事 , 还是不太明白 , 举个例子
public static int sum(int a , int b ) {
     return a + b;
}像上面这样一个小方法 , 加static 和不加static 都可以 , 那这时应该写static吗? 加了可以直接类名调用,是不是更好呢?

作者: 夏萱    时间: 2016-7-15 23:17
wanglv110 发表于 2016-7-15 23:07
好像是这么回事 , 还是不太明白 , 举个例子
public static int sum(int a , int b ) {
     return a + b ...

这个求和的方法应该是希望能在其他类中直接调用的,所以写在工具类里加static,方便其他类调用
需要根据具体情况判断
作者: jmf332376308    时间: 2016-7-15 23:54
static是修饰静态的,如果你需要定义静态的值就使用static,如果不是就不需要使用。
作者: 张程浩    时间: 2016-7-16 00:13
static 静态修饰符 ,可以被所共享
作者: qetu001212    时间: 2016-7-16 00:31
不想让别人创建对象,将方法用static修饰就能用匿名对象调用了
作者: 657324    时间: 2016-7-16 00:49
wanglv110 发表于 2016-7-14 22:59
求解决,写方法时什么时候加static关键字?每次写方法时都会习惯性想到public static void,不知道static什 ...

不知道就带着呗  过些日子你就知道了
作者: 芒果小姐    时间: 2016-7-16 18:05
加static的变量是全局变量,随着类的加载而加载,可以被类名点去调用~
缺点就是生命周期过长




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2