/*
静态代码块
随着类的加载而执行,而且只执行一次
作用:
用于给类初始化
*/
class StaticCode
{
static int num;
static//静态代码块,因为是静态的,所以随着类的加载而执行进行初始化
{
num =10;
System.out.println("hahahaha");
}
StaticCode(){}
static void show()
{
System.out.println("show run");
}
}
class Person
{
private String name;
{//构造代码块,可以给所有的对象进行初始化的。
//System.out.println("person run");//代码块
cry();//构造代码块,给所有对象进行初始化
}
Person()//是给对应的对象进行针对性的初始化
{
name = "baby";
//cry();
}
Person(String name)
{
this.name = name;
//cry();//调用下面的一般函数
}
public void speak()
{
System.out.println("name:"+name);
{
//局部代码块,限制变量的生命周期
}
}
public void cry()
{
System.out.println("哇哇");
}
static void show()
{
System.out.println("show run");
}
}
class StaticCodeDemo
{
static
{
System.out.println('a');//静态代码块先执行
}
public static void main(String[] args)
{
//Person.show();
Person p1 = new Person();//创建对象
p1.speak();
Person p2 = new Person("旺财");
p2.speak();
Person p3 = new Person();
new StaticCode();
//StaticCode.show();
//System.out.println("b");
}
}
静态代码块,构造代码块,构造函数的用法与区别?
最新推荐文章于 2021-03-05 11:16:30 发布