您的位置:首页 > 编程语言 > Java开发

南哥带你玩转 Java 之 Java 代码块

2018-01-10 19:48 295 查看

Java 代码块

代码块分类:
1.局部代码块:限制变量的作用域(生命周期)
书写位置:在方法中
2.构造代码块(在开发中很少使用)
书写位置:在类中方法外
调用时间:如果你有构造代码块,系统会帮你调用
帮你在创建对象之前调用,每次创建对象都会调用
3.静态代码块(一定是被 static 修饰的)
静态代码块依赖类随着类加载而加载
注意:只加载一次(不管创建多少对象,系统只调用一次)
应用场景: U盘装载驱动程序
加载驱动(数据库驱动 JDBC)
4.同步代码块(多线程)

例如:
public class Demo {
public static void main(String[] args) {
{
System.out.println("局部代码块");
}

// 创建两个 Person 对象,调用 sayHi 方法
// 调用无参构造方法创建对象
Person person1 = new Person();
person1.setName("zero");
person1.setAge(105);
person1.sayHi();
// 调用有参构造方法创建对象
Person person2 = new Person("零", 20);
person2.sayHi();
}
}
/*
* 人名,年龄,
*/
class Person {
private String name;// 人名
private int age;// 年龄

static {
System.out.println("Person 类的静态代码块");
}

{
// 创建对象时,每个对象都需要用到同一个方法
sleep();
System.out.println("构造代码块");
}

// 无参
public Person() {
System.out.println("无参构造方法");
}
// 有参
public Person(String name, int age) {
System.out.println("有参构造方法");
this.name = name;
this.age = age;
}
// get/set
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// 介绍
public void sayHi() {
System.out.println(name);
System.out.println(age);
}
public void sleep() {
System.out.println("睡觉");
}
}


http://blog.csdn.net/huzongnan/article/list
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: