面向对象_静态代码块

特点:随着类的加载而执行,只执行一次,并优先于主函数
作用:用于给类进行初始化用的

格式:
  static{
     静态代码块中的执行语句
  }

 1 public class StaticCode1 {
 2     static{
 3         System.out.println("b");
 4       }
 5     public static void main(String[] args) {
 6         new StaticCode();
 7         new StaticCode();
 8         System.out.println("c");
 9     }
10     static
11     {
12         System.out.println("d");
13     }
14 }
15 class StaticCode{
16     static
17     {
18         System.out.println("a");
19     }
20 }
21 //打印结果是:b  d a c
 1 class Demo{
 2     //静态变量和静态代码块,即使还没创建对象就已经存在代码区了,静态代码块自动执行
 3     static int i = 1;
 4     static{//静态代码块只执行一次
 5         System.out.println("a");//没对象也可以打印出来
 6         i++;
 7     }
 8     public Demo(){
 9         System.out.println("b");
10         i++;
11     }
12 }
 1 public class StaticCode2{
 2     public static void main(String[] args) {
 3         new StaticCode5();//结果是acb
 4         new StaticCode5(4);//结果是acd
 5     }
 6 }
 7 class StaticCode5{
 8     StaticCode5(){
 9         System.out.println("b");
10     }
11     static{//静态代码块用于给类初始化(类一加载只执行一次,再创建第二个对象不会再执行,因为类已经加载进来了)
12         System.out.println("a");
13     }
14     //构造代码块用于给所有对象统一初始化
15     {
16         System.out.println("c");
17
18     }
19     //构造函数给对应对象初始化的
20     StaticCode5(int x){
21         System.out.println("d");
22     }
23 }
时间: 2024-10-03 21:57:50

面向对象_静态代码块的相关文章

java基础_静态代码块

/* 静态代码块 格式: static{ 静态代码块中执行语句 } 特点:随着类的加载而执行,并且只会执行一次,并且还优先于主函数 作用:用于给类进行初始化 */ class Per{ static{ System.out.println("我是静态代码块"); } { System.out.println("我是构造代码块"); } } public class A6_42 { public static void main(String[] args) { ne

java基础第五天_静态代码块、类的继承和接口

1.文字阐述静态代码块的作用. 静态代码块在类加载的时候执行,而且只执行一次. 2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么? 构造代码块调用顺序优先于构造方法,和方法的声明位置无关. 构造代码块作用:a.可以存放多个构造方法的共同代码,提升代码的重复性 b.对成员变量初始化 3.类加载时,是否一定会执行静态代码块?如何手动控制类加载? 类加载时默认执行静态代码块. 手动控制类加载使用Class.forName("classname"

IT十八掌作业_java基础第五天_静态代码块、类的继承和接口

1.文字阐述静态代码块的作用. A:静态代码块常用来执行类属性的初始化,且只被执行一次. 2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么? 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 和位置无关. 构造代码块在每次创建对象是都会执行. 3.类加载时,是否一定会执行静态代码块?如何手动控制类加载? 类加载时默认加载静态代码块,class.forName(String name) 或 class.forNa

面向对象_普通代码块

public class oneHundredAndNineteen_oneHundredAndNineteenOne1 { public static void main(String[] args) { //普通代码块 { String info = "局部变量"; System.out.println(info);//只能在该作用域中使用 } //System.out.println(info);//外部使用会报错,因为info作用域在上面 String info = "

面向对象_构造代码块

构造代码中定义的是不同对象的共性内容 作用:给对象初始化,对象一建立就运行而且优先于构造函数运行.是给所有对象统一初始化  构造函数是给对应的对象初始化 1 public class Object_StructureCode { 2 public static void main(String[] args) { 3 Person p=new Person(); 4 //p.setName("libushi"); 5 //System.out.println(p.getName());

构造函数,构造代码块和静态代码块的先后顺序和运用

在自学到java面向对象时,知道有静态代码块,构造代码块和构造函数的存在,如果说构造函数是初始化对象,那么其他2者又是怎么使用,又有什么区别呢.简单的举了下面的例子: 1 package 面向对象; 2 3 class Child 4 { 5 private String country; 6 private String name; 7 Child(String name)//构造函数. 8 { 9 this.name=name; 10 System.out.println(this.name

代码逻辑题之继承-静态代码块-main方法执行顺序

前提知识: (暂未发布)面向对象继承相关知识 (暂未发布)static与静态代码块 JVM入门之main方式详解 (暂未发布)JVM加载类的顺序 public class ParentMainTest { static int x; static { x++; System.out.println("ParentMainTest_static..." + x); } public static void main(String[] args) { new SonMainTest(6);

java中静态代码块的用法—— static用法详解

(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的. 静态方法(1)在Java里,可以定义一个不需要创建对象的方法,这种方法就

JavaEE初始化时静态代码块加载问题

1.使用java.exe命令运行某个类的时java.exe Person2.创建一个类的对象时Person p=new Person();3.访问类中的静态成员变量(赋值/获取值)System.out.println(Person.className);4.访问了类中的静态成员方法Person.method();5.创建类的子类对象的时候Student s=new Student();6.使用反射方式来强制创建某个类或接口对应的java.lang.Class对象System.out.printl