「java非静态构造代码」java非静态构造代码是什么

博主:adminadmin 2022-12-15 08:12:06 71

今天给各位分享java非静态构造代码的知识,其中也会对java非静态构造代码是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在java中,什么叫静态,什么叫非静态

由static

关键修饰的内容

为静态

反之

,为非静态

静态变量

属于

,为所有对象共有

分静态变量

属于

对象

每个对象都可以有且属性值可以各异

静态变量优于非静态变量加载,故

静态代码块中不能引用非静态成员,会报错

java 中静态代码和非静态代码块的区别!

相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,

一般在代码块中对一些static变量进行赋值。

不同点:静态代码块在非静态代码块之前执行(静态代码块—非静态代码块—构造方法)。

静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new

一次就执行一次。非静态代码块可在普通方法中定义(不过作用不大);而静态代码块不行。

例:

//普通类

public class PuTong {

public PuTong(){

System.out.print("默认构造方法!--");

}

//非静态代码块

{

System.out.print("非静态代码块!--");

}

//静态代码块

static{

System.out.print("静态代码块!--");

}

public static void test(){

{

System.out.println("普通方法中的代码块!");

}

}

}

//测试类

public class TestClass {

/**

* 区别两次new静态与非静态代码块执行情况

*/

public static void main(String[] args) {

PuTong c1 = new PuTong();

c1.test();

PuTong c2 = new PuTong();

c2.test();

}

}

/*

运行输出结果是:

静态代码块!--非静态代码块!--默认构造方法!--普通方法中的代码块!

非静态代码块!--默认构造方法!--普通方法中的代码块!

*/

java先执行静态代码,再非静态代码,main方法是程序入口。不是先执行main方

是执行main方法所在的类,

一个类的加载过程中,先执行静态代码块,然后非静态代码块,然后是构造方法,,,这个过程,是类加载的过程,比如你没有new这个类的对象,那就不会有这个过程

关于java非静态构造代码和java非静态构造代码是什么的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-15,除非注明,否则均为首码项目网原创文章,转载请注明出处。