失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java中代码块

java中代码块

时间:2019-01-02 12:41:08

相关推荐

java中代码块

类的成员四,代码块(初始化块)

1.代码块的作用:用来初始化类或者对象

2.代码块如果有修饰的话只能有static

3.分类:静态代码块 vs 非静态代码块

4.静态代码块

①内部可以有输出语句

②随着类的加载而执行,而且只能执行一次

③作用:初始化类的一些属性

④如果一个类中定义了多个静态代码块,则按照声明顺序进行执行

⑤静态代码块要优先于非静态代码块的执行

⑥静态代码块内只能调用静态的属性、静态的方法、不能调用非静态的结构

5.非静态代码块

①内部可以有输出语句

②随着对象的创建而执行

③每创建一个对象就执行一次代码块

④作用:可以在创建对象时候对对象的属性进行初始化

⑤如果一个类中定义了多个非静态代码块,则按照声明顺序进行执行

⑥非静态代码内部可以调用静态的属性、静态的方法、能调用非静态的结构

package com.atguigu.java2;public class BlockTest {public static void main(String[] args) {String desc = Person.desc;System.out.println(desc);Person p1 = new Person();Person p2 = new Person();System.out.println(p1.age);String desc1 = Person.desc;System.out.println(desc1);}}class Person{//属性String name;int age;static String desc = "我是一个人";//构造器public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}//静态代码块static{System.out.println("hello,static block-1");desc = "我是一个爱学习的人";}static{System.out.println("hello,static block-2");desc = "我是一个爱学习的人";}//非静态代码块{System.out.println("hello,block-1");age = 1;}{System.out.println("hello,block-2");age = 1;}//方法public void eat() {System.out.println("吃饭");}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}public static void info() {System.out.println("我是一个快乐的人");}}

如果觉得《java中代码块》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。