关于构造方法

Java 构造方法有以下特点:

  • 方法名必须与类名相同
  • 可以有 0 个、1 个或多个参数
  • 没有任何返回值,包括 void
  • 默认返回类型就是对象类型本身
  • 只能与 new 运算符结合使用

关于“返回值”

通俗的来说,构造方法是没有返回值的

但是构造方法如果被加上了返回值类型,或声明了void类型,编译不会报错,被当成普通方法。

(实际上,类的构造方法可以理解为有返回值,是隐式的,可以把构造出的类的实例当成构造方法的返回值)

关于修饰符

构造方法不能被static,final,abstract,synchronized,native修饰

构造方法不能被子类继承所以用final和abstract 修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,所以用 synchronized 修饰没有必要

构造方法可以被private修饰!:用于单例设计模式(一个类只允许存在一个特定的实例)

              且需要:

 

                    (1)将构造方法私有化(此时的构造方法为private修饰),使其不能在类的外部通过new关键字实例化该类对象。

 

                    (2)在该类内部产生一个唯一的实例化对象,并且将其封装为private static类型。

 

                    (3)定义一个静态方法返回这个唯一对象。

 

 

 

注意点:

1.类的构造方法不是要求必须定义的,如果类中没有任何一个构造方法,Java会隐式地生成一个默认的构造方法,不包含任何参数,方法体为空,如果类中显式地定义了一个或多个构造方法,则 Java 不再提供默认构造方法。

2.一个类可以有多个具有不同参数的同名构造方法(构造方法重载)

 

posted @ 2020-05-19 21:38  木子李和三点水  阅读(213)  评论(0编辑  收藏  举报