黑马程序员技术交流社区
标题:
关于static的一点个人总结
[打印本页]
作者:
linder_qzy
时间:
2015-3-8 19:09
标题:
关于static的一点个人总结
static
静态使用方法:
是一个修饰符,用于修饰成员(成员变量、成员函数)
当成员被静态修饰后就多了一种调用方式,除了可以被对象调用外还可以用类名.静态成员的方法调用。
注意:
1.静态方法只能访问静态成员
非静态方法既可以访问静态方法也可以访问非静态方法。
2.静态方法中不可以出现this、super关键字。
因为静态方法优先于对象存在所以不可以出现this、super。
静态特点:
1:随着类的加载而被加载
2:优先于对象存在
3:被所有对象共享
4:可以直接类名.静态成员的方法调用
静态方法的有弊:
利:将对象的共享数据进行单独存储,节省内存空间。
弊:1生命周期过长
2访问有局限性(静态不能访问非静态)
3主函数是静态的
什么时候使用静态成员变量和函数
1:静态成员变量
当数据中出现共享数据时,改数据需要被静态所修饰,
对象中的特有数据要定义成非静态存在于堆内存中。
2:静态函数
当功能内部没有访问非静态数据,那么该功能可以定义成静态函数
通常工具类中定义的都是静态方法。
静态代码块
特点:类一被加载就执行,且只执行一次,优先于主函数执行。用于给类进行初始化
class StaticCode
{
//静态代码块 给类初始化
static{
System.out.println("a");
}
//构造代码块 给所有对象进行初始化
{
System.out.println("b");
}
//构造函数 给创建的对象进行初始化
StaticCode(){
System.out.println("c");
}
StaticCode(int x){
System.out.println("d");
}
public static void show(){
System.out.println("show run");
}
}
class Demo04_StaticCode
{
public static void main(String[] args){
new StaticCode(4);//输出结果:a b d
}
}
复制代码
作者:
浅步调
时间:
2015-3-9 01:33
虽然知道一点,不过还是长见识了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2