黑马程序员技术交流社区

标题: 请问在编程中 “static”的作用是什么,麻烦各位大佬解释... [打印本页]

作者: 华山狙击    时间: 2014-8-30 15:14
标题: 请问在编程中 “static”的作用是什么,麻烦各位大佬解释...
本帖最后由 华山狙击 于 2014-8-30 20:59 编辑

package practice;

public class Juxing {

        public static void main(String[] args) {
      Jx(9,2);
        }
        public static void Jx (int k,int m){
                for (int i=1;i<=k;i++){
                        System.out.print("* ");      // _
                }
                System.out.println();
                for (int j=1;j<=m;j++){
                        System.out.print("*");      // |
                        for (int l=2;l<k;l++){
                                System.out.print("  ");
                        }
                        System.out.print(" *");           // |
                        System.out.println();
                }
                for (int i=1;i<=k;i++){
                        System.out.print("* ");          //  _
                }
                System.out.println();
        }
        
}
作者: 碎流    时间: 2014-8-30 15:43
static   静态修饰
俗称"笨鸟先飞"
作者: 赵哲成    时间: 2014-8-30 16:02
静态啊:P
作者: dftgg    时间: 2014-8-30 16:17
静态 直接类名调用
作者: 【灰太狼】    时间: 2014-8-30 16:44
本帖最后由 【灰太狼】 于 2014-8-30 16:46 编辑

static是静态的意思,静态的特点是,她随着类的加载而加载,被静态修饰的内容是可以被类下所有成员所共享的,这里将main方法用static修饰,是为了让程序刚刚一运行,就将main方法加载进来,因为java程序的执行是虚拟机调用main方法开始的,所以,main方法必须加static。
因为用static修饰了以后,就随着类的加载而加载,生命周期比没有加static的生命周期长,如果你在static修的方法内想要调用其他方法,那么其他方法必须也要存在,就是说被调用的方法的生命周期不能低于调用者,所以,被调用者就也必须是用static修饰的才行,也就是上课的时候老师常说的,static只能调用static修饰的。
作者: 陈永赛    时间: 2014-8-30 17:00
楼上解释很详细:“随着类的加载而加载"。这句话,你要好好琢磨就理解了。
在用法上,简单来说就是,有static修饰的成员,可以直接用》》》》》》类名.(成员名称)调用。
而没有static修饰的成员,只能先创建对象后,才能调用该成员》》》》》类名 名称 = new 类名==》名称.(成员名称)调用。

作者: 曾小贤OL    时间: 2014-8-30 18:34
不要惊讶,看我头像
作者: 华山狙击    时间: 2014-8-30 19:32
好的 多谢大家
作者: moon1993zs    时间: 2014-8-31 13:30
static 静态修饰,修饰符一枚。 如果程序里要有静态修饰 调用的时候直接可以用类名调用。不用再创建对象了。static静态修饰 就记住一点就可以 有他可以共享。
作者: 彭卫红    时间: 2014-8-31 14:11
嗯嗯。随着类加载消亡





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