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.
  • 相关阅读:
    SVG与HTML、JavaScript的三种调用方式
    求时间段的交集
    iis 搭建ftp
    C#获取MAC地址的几种方法
    c#获取本地IP和MAC地址
    【Web】Javascript、Python、Django模板配合处理URL Encode
    【Django】依赖auth.user的数据库迁移,以及admin用户非交互式创建
    【Linux】debian jessie版本安装1.9 svn
    【日志处理】logstash性能优化配置
    【Linux】apt-get install 怎么阻止弹出框,使用脚本默认自动安装?
  • 原文地址:https://www.cnblogs.com/majestyking/p/12382382.html
Copyright © 2011-2022 走看看