Erlo

关于Java中代码块的总结

2019-10-24 11:30:20 发布   255 浏览  
页面报错/反馈
收藏 点赞

局部代码块:在方法内使用,代码块中定义的变量在外部无法访问。

package lesson11;

public class Demo01 {
    public static void main(String[] args) {
        //局部代码块 在方法中出现
        {
            int i=10;
            System.out.println("局部代码块");
        }
        //System.out.println(i); 访问不到
        for(int i=0;i<10;i++){ //局部代码块
            System.out.println(i);
        }
    }
}

构造代码块:在方法外使用,每当创建一个对象调用构造方法时都会先执行构造代码块中的内容。

package lesson12;

public class Demo01 {
    
    
    
    
    public static void main(String[] args) {
        //构造代码块  类外出现
        Person p1 = new Person();
        Person p2 = new Person("xiaoming",30);
        
    }
}


class Person{
    String name;
    int age;
    
    public Person(){
        System.out.println("我是无参的");
    }
    public Person(String name,int age){
        this.name = name;
        this.age = age;
        System.out.println("我是有参的");
    }
    //构造代码块在构造函数之前调用,每次使用构造方法都会调用该代码块
    {
        System.out.println("我被调用了");
    }
}


结果:

  我被调用了
  我是无参的
  我被调用了
  我是有参的

静态代码块:用static修饰,只有在该代码块所在类被加载时调用,即只调用一次。经常在静态代码块中进行加载驱动等操作。

package lesson13;

public class Demo01 {

    public static void main(String[] args) {
        //静态代码块,只在类被加载是调用,用于给属性初始化,一般用来加载驱动
        Idol idol1 = new Idol("xiaoming",30);
        Idol idol2 = new Idol("yoona",29);
        
    }
}


class Idol {
    String name;
    int age;
    static String gender;
    
    static {
        gender = "female"; //只能初始化静态属性
        System.out.println("我是静态代码块");
    }
    
    
    public Idol(String name,int age){
        this.name = name;
        this.age = age;
        System.out.println("构造方法");
    }
}

结果:
我是静态代码块
构造方法
构造方法

 

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认