菜鸟提问,关于static ? 看了书中关于static的讲解和网上的一些资料,还是不太理解static的具体用法,到底什么时候该用它,在实际的编程应用中,什么样的情况下需要使用到static,恩,大概就是这个意思,不知各位有没理解我的问题,哪位大侠给我解答一下啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 class A{ static int a; int b;}比如上面的代码,要想使用变量b,必须要创建一个A类的对象,A obj = new A();obj.b = 3;但是变量a就不同了,由于它是静态的,所以不用创建对象就可以使用a = 3; static在内存里面只有一块.不会生成很多 class A{ static int a; int b;}还是这个例子A.a =3;A a1 = new A();System.out.println(a1.a);//输出3 static成员变量:你希望你的整个程序只有一个值就可以用static方法:一些工具类常用。省去每次使用new class的麻烦。还有就是单例,工厂之类的会提供static的getInstance方法。 一句话:static变量不用实例化。 static 可以计数用啊。单例设计模式中好像要用到。 static的成员变量、成员方法不依赖类,只是依附而已,不用初始化就可以调用;static语句块,类一运行首先执行,且不论类初始化几次,static语句块只在第一次初始化的时候起作用; static在面向过程思想里叫静态,在面向对象的思想里边叫类。看上边这个例子,张三李四王五吃饭的时候,每人一碗米饭,大伙一起吃三个菜。如果张三上来在别人还没动筷子的时候自己就吃了半个水煮鱼,吃了自己半碗米饭。你分析一下:张三的米饭少了吗?张三的菜少了吗?李四的米饭少了吗?李四的菜少了吗?王五的米饭少了吗?王五的菜少了吗?从而得知,菜属于类属性,而米饭属于对象属性。人类{ static 类型1 菜;//类属性 类型2 米饭;//对象属性} 实际上,属于类的东西也是属于对象的,也就是说类属性和类行为可以被类和对象所调用,而对象属性和对象行为只被对象自身所拥有。试图用类来调用对象的属性和方法是不允许的,因为类加载的时候对象还不存在,况且更不知道当前对象方法里的this到底是谁。 类属性是要在类加载以后才可以调用的。类属性和类行为可以使用类和对象来调用,对象属性和对象行为只被对象自身所拥有。上述所说:static语句块,类一运行首先执行。其实只是声明类(如:类 引用变量 = null;)是不会调用静态代码块的。具体类的加载了哪些类,以及他们是什么顺序加载的,你可以使用 java -verbose 类名 来查看。 如果用Google,搜到的你还看不懂只能说明 你搜的不够 思考的不够 在类中用 static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static 成员变量只有一份 1.用static申明的变量或者对象都会在内存中去创建一个static域 每次程序执行到这里时就先到static域中去查找相应的变量或者对象,如果没有就到栈(存放变量)或者堆(存放对象)里面去找。2.static还可以用作数据库的连接,相当于一个单例 如下static{ //数据库的连接}在类的对象还没有进行初始化时就已经连了数据库(自动调用static块中的方法) 希望对你的理解有所帮助!别忘记给分哦!呵呵! static关键字:1、定义类级别的属性,所有该类的对象共享同样的一个属性(可以修改),类文件被加载的时候,该元素就会被初始化2、定义静态代码块,这个代码块在类被加载的时候就会执行3、定义方法,父类方法不会被子类去覆盖和final不同的是,被final修饰的方法,子类无法写同名同参的方法被static修饰的方法,子类可以写同名同参的方法,但是不会覆盖父类方法 Static 变量是存储在数据段的,看视频教程说的,并且这个类的每一个对象都共用这个静态变量,可以用来记录各个类共同的状态 面向对象的问题一直困扰着大家,因为面向过程的语言普及在前,而面向过程的程序中static叫静态,但是面向对象的程序中static叫类。类属性 类方法 对象属性 对象方法,应该这样叫。【以上仅代表我巨和观点】 1、在类中的话,可以不用实例化就直接调用; 2、static方法是前期绑定(另一个是final),其余的方法都是后期绑定(动态绑定)的; 学Java学得也不是很系统,还有挺多没看完,想到哪说到哪了。以下是TIJ上的话: “static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来倒是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际正是static方法的主要用途。” static 定义的是常驻内存的,当然是在一些最常用,用的最多的定义成static型的。定义成static是为了提升代码运行效率,但是是以内存空间为代价的。 想学习java,学过C++ ,C#,怎么入门啊 代码解释 eclipse找不到父类方法!!!!!!!! Eclipse和JBUILDER各有什么优点和缺点? 请教:C/S架构的java .jar导出EXCEL 6000行左右的时候就卡住(在eclipse中没问题)的问题。可能是内存不足或者代码不够好,请帮忙看下~ return语句 登录验证问题 急啊!一个JDBC的问题! 用tomcat访问serlvet时,总要特别加个端口号,怎么设置才不用 学了一天java的菜问题,想拿便宜的40分就来吧!!!!! ***************String 和 null*** 初级问题
class A{
static int a;
int b;
}比如上面的代码,要想使用变量b,必须要创建一个A类的对象,
A obj = new A();
obj.b = 3;但是变量a就不同了,由于它是静态的,所以不用创建对象就可以使用a = 3;
不会生成很多
static int a;
int b;
}还是这个例子
A.a =3;
A a1 = new A();
System.out.println(a1.a);//输出3
static方法:一些工具类常用。省去每次使用new class的麻烦。还有就是单例,工厂之类的会提供static的getInstance方法。
static语句块,类一运行首先执行,且不论类初始化几次,static语句块只在第一次初始化的时候起作用;
看上边这个例子,张三李四王五吃饭的时候,每人一碗米饭,大伙一起吃三个菜。如果张三上来在别人还没动筷子的时候自己就吃了半个水煮鱼,吃了自己半碗米饭。
你分析一下:
张三的米饭少了吗?张三的菜少了吗?
李四的米饭少了吗?李四的菜少了吗?
王五的米饭少了吗?王五的菜少了吗?从而得知,菜属于类属性,而米饭属于对象属性。人类{
static 类型1 菜;//类属性
类型2 米饭;//对象属性
}
实际上,属于类的东西也是属于对象的,也就是说类属性和类行为可以被类和对象所调用,而对象属性和对象行为只被对象自身所拥有。试图用类来调用对象的属性和方法是不允许的,因为类加载的时候对象还不存在,况且更不知道当前对象方法里的this到底是谁。
类属性是要在类加载以后才可以调用的。类属性和类行为可以使用类和对象来调用,对象属性和对象行为只被对象自身所拥有。上述所说:static语句块,类一运行首先执行。其实只是声明类(如:类 引用变量 = null;)是不会调用静态代码块的。具体类的加载了哪些类,以及他们是什么顺序加载的,你可以使用 java -verbose 类名 来查看。
static{
//数据库的连接
}在类的对象还没有进行初始化时就已经连了数据库(自动调用static块中的方法) 希望对你的理解有所帮助!别忘记给分哦!呵呵!
1、定义类级别的属性,所有该类的对象共享同样的一个属性(可以修改),类文件被加载的时候,该元素就会被初始化
2、定义静态代码块,这个代码块在类被加载的时候就会执行
3、定义方法,父类方法不会被子类去覆盖
和final不同的是,被final修饰的方法,子类无法写同名同参的方法
被static修饰的方法,子类可以写同名同参的方法,但是不会覆盖父类方法
2、static方法是前期绑定(另一个是final),其余的方法都是后期绑定(动态绑定)的;
学Java学得也不是很系统,还有挺多没看完,想到哪说到哪了。以下是TIJ上的话:
“static方法就是没有this的方法。在static方法的内部不能调用非静态方法,反过来倒是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际正是static方法的主要用途。”