为啥普通初始化块会被多次调用

来源:8-10 Java 中的 static 使用之静态初始化块

河岸朱色

2018-05-12 23:59

package com.An;public class MAin 
{	float n,k;
    static float l,m;	
    public MAin()
    {
        System.out.println("无参构造");}	
        {//初始块	
        k=5;
        System.out.println("初始块"+k);}	
        static
        {
            m=4;
            System.out.println("静态初始块"+m);}	
            public MAin(float newN)
            {
            n=newN;	
            System.out.println("有参构造"+n);}	
            public static void JIN(){
            ystem.out.println("静 态"+l);}}
            
            
            
            public class MAin1 {	
            /**	* @param args	*/	
            public static void main(String[] args) {	
            	// TODO Auto-generated method stub	
            		//类名  对象名		
            		MAin pun=new MAin();		
            		MAin n=new MAin(5.0f);		
            		n.l=10;		
            		MAin.JIN();				
            		MAin2 M=new MAin2();		
            		M.setM(5.0f);				
            		System.out.println("分装调用"+M.getM());
            	}}


写回答 关注

4回答

  • 妄越
    2018-07-03 12:36:33
    已采纳

    在用类来声明对象的时候,我们使用了该类,就会对该类进行一次初始化,所以普通初始化块就会被反复调用。

  • qq_千界_0
    2018-06-08 15:06:11

    甲鱼的臀部  规定

  • wingsico
    2018-05-24 23:16:54

    每次将一个类进行实例化时,就会执行普通的初始化块,而静态初始化块只执行一次,即创建类的时候。

  • qq_漫步人生路_9
    2018-05-13 12:26:35

    sun公司规定如此

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530649 学习 · 6091 问题

查看课程

相似问题