A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求解决,写方法时什么时候加static关键字?每次写方法时都会习惯性想到public static void,不知道static什么时候该写?什么时候不该写?


19 个回复

倒序浏览
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
回复 使用道具 举报
一般只有一个类的时候,为了满足主方法中直接不用对象+方法名,直接使用方法的时候,还有就是想不用创建对象,直接类名点调用, 不知道理解的对不对, 或许你也不知道我到底在说什么...
回复 使用道具 举报
static修饰的,随着类的加载而加载,优先于对象存在,被类的所有对象共享。
回复 使用道具 举报
楼上是正解
回复 使用道具 举报
q123123 发表于 2016-7-14 23:22
一般只有一个类的时候,为了满足主方法中直接不用对象+方法名,直接使用方法的时候,还有就是想不用创建对象, ...

你的意思是为了方便类名点调用,所以加static吗
回复 使用道具 举报
应该就是静态啊,静态是什么,我也说不清楚。
回复 使用道具 举报
这个方法没有使用到具体的实例属性的时候
回复 使用道具 举报
wanglv110 发表于 2016-7-15 12:38
你的意思是为了方便类名点调用,所以加static吗

这是其中之一吧,只有一个类,在主方法中, 静态可以直接方法名吧?,不太了解
回复 使用道具 举报
q123123 发表于 2016-7-15 20:34
这是其中之一吧,只有一个类,在主方法中, 静态可以直接方法名吧?,不太了解 ...

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

好像是这么回事 , 还是不太明白 , 举个例子
public static int sum(int a , int b ) {
     return a + b;
}像上面这样一个小方法 , 加static 和不加static 都可以 , 那这时应该写static吗? 加了可以直接类名调用,是不是更好呢?
回复 使用道具 举报
wanglv110 发表于 2016-7-15 23:07
好像是这么回事 , 还是不太明白 , 举个例子
public static int sum(int a , int b ) {
     return a + b ...

这个求和的方法应该是希望能在其他类中直接调用的,所以写在工具类里加static,方便其他类调用
需要根据具体情况判断
回复 使用道具 举报
static是修饰静态的,如果你需要定义静态的值就使用static,如果不是就不需要使用。
回复 使用道具 举报
static 静态修饰符 ,可以被所共享
回复 使用道具 举报
不想让别人创建对象,将方法用static修饰就能用匿名对象调用了
回复 使用道具 举报
657324 来自手机 初级黑马 2016-7-16 00:49:46
19#
wanglv110 发表于 2016-7-14 22:59
求解决,写方法时什么时候加static关键字?每次写方法时都会习惯性想到public static void,不知道static什 ...

不知道就带着呗  过些日子你就知道了
回复 使用道具 举报
加static的变量是全局变量,随着类的加载而加载,可以被类名点去调用~
缺点就是生命周期过长
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马