ITPub博客

首页 > 应用开发 > Java > JAVA之——static静态代码块

JAVA之——static静态代码块

原创 Java 作者:luffy001 时间:2019-11-28 16:41:13 0 删除 编辑

静态代码块

static可以修饰属性、方法、内部类、代码块

静态代码块在类加载时就调用, 而且只执行一次, 并且优先于各种代码块以及构造函数。

有一个地方的静态代码被使用,那么所有的静态代码块都会被调用

下面通过实例理解一下


父类


public 
class 
Human 
{
    
static 
{
        System
.out
.
println
(
"2.父类中的静态代码块"
)
;
    
}
    
public String name
;
    
public 
Human
(
) 
{
        System
.out
.
println
(
"1.父类中的构造方法"
)
;
    
}
    
public 
static 
void 
test
(
) 
{
        System
.out
.
println
(
"6.父类中的静态方法"
)
;
    
}
}


子类


public 
class 
Man 
extends 
Human 
{
    
static 
{
        System
.out
.
println
(
"4.子类中的静态代码块"
)
;
    
}
    
public 
Man
(
) 
{
        System
.out
.
println
(
"3.子类中的构造方法"
)
;
    
}
    
public 
static 
void 
doo
(
) 
{
        System
.out
.
println
(
"5.子类中的静态方法"
)
;
    
}
}


主类


public 
class 
Main 
{
    
public 
static 
void 
main
(String
[
] args
) 
{
        
// Human human = new Man(); 输出2 4 1 3
        
        
//父类的类名调用父类的方法
		
//Human.test();      输出2 6   在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存    与子类无关
        
        
//子类的类名调用子类的方法
        
//Man.doo();       输出2  4  5  在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关
         
         
//子类的类名调用父类的方法
         
//Man.test();   输出  2 6  注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法,但是父类不能调用子类的方法  所以在Main中不可直达Man中的的方法
        
//子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法
        
//Man.test();    输出  2 6 4 5
    
}
}

静态代码块内容先执行(但只执行一次),接着执行父类构造方法,然后执行子类构造方法。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69955962/viewspace-2666063/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-11-28

  • 博文量
    2
  • 访问量
    3353