zoukankan      html  css  js  c++  java
  • java的构造函数和构造代码块

    一:构造方法

    Java当中有两种函数:构造函数和普通函数(实例函数)。

    构造函数的特点:

    1. 构造函数的函数名字与类名相同
    2. 构造函数不可以定义返回值
    3. 构造函数不可以写return语句
    4. 每个类默认有一个无参数构造函数
    5. 构造函数可以重载但不能重写

    构造函数的作用:

    给对象进行初始化

    注意虽然每个类都有一个默认的不带参数的构造方法,但是我们重写了这个类的构造方法之后,而又没有不带参数的构造方法,

    此时程序就会报错,不能通过编译。

    如下:不带参数的Person()构造方法被注释掉之后就会报错。

    public class Person {
    
        private String name;
    //无参构造方法被注释掉之后会报错。
    /* Person(){ System.out.println("I'm a Person constructor."); } */ Person(String name){ System.out.println("I'm a overloaded constructor."); } } class PersonTest{ public static void main(String[] args) {
    Person person
    =new Person();//这句会报错,因为找不到不带参数的构造方法 } }

    二:构造代码块

    • 作用:给对象初始化用
    • 对象已建立就运行,而且而且而且优先于构造函数执行
    • 构造代码块是给所有对象进行初始化,也就是说new了多少次对象就会执行多少次
    • 构造函数是给不同对象进行初始化的
    public class Person {
    
        Person(){
            System.out.println("I am a constructor.");
        }
        //这是一个构造代码块
        //作用:给对象初始化用
        //对象已建立就运行,而且而且而且优先于构造函数执行
        {
            System.out.println("I am a constructor block.");
        }
    
    }
    
    
    class PersonTest{
        public static void main(String[] args) {
            Person person=new Person();
    
        }
    }

    上面代码的执行结果

    I am a constructor block.
    I am a constructor.
  • 相关阅读:
    Hadoop源代码分析
    Java中如何把两个数组合并为一个
    数据库死锁的解决办法
    Java程序中解决数据库超时与死锁
    mysql 死锁检查
    JDBC事务和数据库事务嵌套的讨论 .
    嵌套事务和事务保存点的错误处理
    java string常见操作题
    java基本数据类型包装类
    java string
  • 原文地址:https://www.cnblogs.com/majestyking/p/12382382.html
Copyright © 2011-2022 走看看