第一阶段 11构造器

本文详细介绍了Java中的构造器概念,包括构造器的定义、使用方式、与普通方法的区别,以及如何自定义构造器等内容。此外,还介绍了单例模式的概念及其在Java中的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构造器

1.什么是构造器

  在日常生活中,盖房子需要工具和工人,通过工人使用这些工具,来修建一个房子。在Java中,构造器就好比使用这些工具,来修建一个房子。而new关键字就是工人,通过new关键字和构造器结合创建对象。

 

1.1构造器的使用

  构造器的语法

    类的修饰符 类的名称(参数列表){

      //方法体

    }

  构造器可以使用修饰符有public、protected、default、private,不写即为default类型的。

  构造器的名称必须要和类的名称相同

  不能有返回值,void也不行

  构造器的参数可有可无。有一个也可以有多个参数

 

1.2被修饰的构造器

  构造器是可以被修饰的,不同的修饰符修饰构造器也具有不同的效果

 

1.3构造器方法与普通方法的区别

  构造器方法和普通的方法是有一定区别,主要是功能上、修饰符上、返回值上和命名上有本质的区别。区别如下:
  构造器是为了创建一个类的对象实例,也可以在创建对象的时候使用。
  方法是为了执行相应的方法体。即Java代码。
  构造器可以被修饰为public、protected、default、private类型,但不能修饰为abstract、final、native、static、synchronized
  方法可以修饰为除了protected、native外的修饰符。
  构造器没有返回值也没有void。
  方法没有返回值或有任何类型的返回值。
  构造器的名称要和类的名称相同。
  方法的名称可以任意起,但要注意标识符的命名规则。使其更具有意义。

 

2.如何实例化一个对象
  所谓实例化就是在内存中实实在在的创建一个对象,在日常生活中就好比创造了一个东西出来。而在Java中,实例化一个对象用new关键字来完成。下面先介绍new关键字的语法以及通过一个例子来演示。
  new 构造器的名称(参数列表)
  new为Java关键字要注意大小写。
  构造器的名称要和类的名称相同。
  通过调用构造器方法来对这个对象进行一些必要的初始化。
  用new关键字实例化对象后返回该对象的引用。

 

3.构造器的调用

  构造器的调用一般有两种情况,一般在本类里调用活在同包下的另一个类中调用,另一种情况是子类调用父类的构造器

 

3.1父子类间的构造器的调用流程
   详细的步骤如下所述。
      在用new关键字创建对象aceing的时候。执行new aceing()会进入到aceing对象的构造器方法体内。
      因为继承的关系,会默认调用方法super进入到父类bike对象的构造器方法体内。
      对父类bike对象进行初始化。父类的构造器方法执行完毕后回到子类的构造器继续执行。
      执行子类的构造器方法,并初始化数据。

 

3.2如何自定义构造器
  自定义的构造器已在前面的代码中多次使用。所谓自定义构造器就是不显式的定义构造器,编译器就是自动地生成一个无参的构造器,但是一旦显式的定义了一个构造器的话,编译器就不会自动生成了。下面用代码演示如何自定义构造器。
 public class test
 {
   //定义一个无参的构造器
   public test()
   {
     //该构造器的方法体
   }
   //具有两个参数的构造器
   public test(String i, int n)
   {
     //该构造器的方法体
   }
 }

 

4.什么是单例模式
单例模式是Java模式工厂里的一种,所谓单例模式,就是在一个时间段内对象只存在一份。单例模式就是把构造器修饰为private类型的,用一个public类型的方法返回该对象的引用。

 

5.构造器在程序中是何时运行的
  加载要创建该对象的父类,以及成员变量和其他继承关系。
  加载该类的静态块和静态成员变量,并对其进行初始化等操作。
  静态块和静态成员变量加载完毕后创建对象并加载非静态成员变量,并对其进行初始化等操作。
  执行构造器里的方法体,完成后该类的对象创建完毕。
  父类的运行顺序和该类的顺序是一样的。

转载于:https://www.cnblogs.com/BaiZe258/p/8908567.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值