美文网首页Java技术文章javaJava 杂谈
Java的日常之走进构造方法

Java的日常之走进构造方法

作者: 大虾很忙 | 来源:发表于2017-02-21 22:14 被阅读205次

从前面谈到的内容可以发现,当我们实例化一个类的对象后,如果想要为成员变量或者实例变量赋值,就必须通过这节访问对象的属性或者调用setter方法来设置。如果我们想在实例化对象的同时就为这个对象的属性赋值,这就可以通过构造方法来实现。接下来就解决两个问题。

  1. 构造方法的定义是什么?
  2. 构造方法的重载又该如何理解?

先来看第一个问题,构造方法也被称为是构造器,它是一个类的特殊成员会在类实例化对象的时候被自动调用。在一个类中定义的方法如果同时满足下面三个条件,就能称其为构造方法:

  1. 方法名与类名相同;
  2. 在方法的前面没有返回值类型的声明;
  3. 方法中不能使用return语句返回一个值。

下面用一个Demo来演示构造方法的使用:

构造方法的演示.JPG

上面代码的运行结果便是输出“无参的构造方法被调用了”。首先在SongKe类中定义一个无参构造方法。从运行的结果可以看到无参的构造方法被调用了。这是因为第4行代码在实例化SongKe对象的时候自动调用了构造方法,也就是说“new SongKe()”语句的作用除了会实例化SongKe对象,还会调用构造方法SongKe()。
当然在一个类中除了定义无参的构造方法,还可以定义有参的构造方法,通过有参的构造方法便能实现对属性的赋值。下面对上面的代码进行改造,演示如下:

有参构造方法的使用.JPG

运行结果输出“大家好,我叫胖妞”。上面的例子中在SongKe类中定义了有参构造方法SongKe(String name)。运行到第4行代码时会调用有参的构造方法,并传入参数“胖妞”。第12行代码便是将“胖妮”赋值给对象name的属性值。

接下来看第二个问题,什么是构造方法的重载了?
普通方法的重载是出现了重名的现象,而在一个类中也可以定义多个构造方法,只要每个构造方法的参数类型和参数个数不同即可。当我们在创建对象的时候,可以通过调用不同的构造方法为不同的属性赋值,下面就通过一个例子展示它的用法:

构造方法的重载.JPG

如上所示,在SongKe类中定义了两个构造方法,它们构成了重载。在创建sk1和sk2两个对象时,根据传入的参数不同分别调用不同的构造方法。

另外需要注意的是,在Java中每个类都至少有一个构造方法,如果在一个类中没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。这个默认的是没有参数,方法体中也没有任何代码,即do nothing。但当我们定义一个有参构造方法时会自动取代系统默认的无参构造方法,所以new对象的同时则必须传入一个参数,否则会引发编译报错。为了避免这种情况发生,在一个类中如果定义了有参的构造方法,最好再定义一个无参的构造方法。

关于构造方法当时确实让我头疼不已,总是不能理解既然可以通过直接设置为变量赋值,为何还要弄一个方法出来,搞得人晕头转向的。现在还是不太明白Java为何要这么设计,可能是更美观?Anyway总算理解个大概了。明天准备进入继承了,弄得构造方法算是打好一个基础。

相关文章

  • Java的日常之走进构造方法

    从前面谈到的内容可以发现,当我们实例化一个类的对象后,如果想要为成员变量或者实例变量赋值,就必须通过这节访问对象的...

  • Java之构造方法

    构造方法注意事项 定义标准类的几要素

  • java面向对象之构造方法

    构造函数(构造方法、构造器、Constructor) 关于java类的构造函数 1、构造方法语法【修饰符列表】构造...

  • Builder 模式

    Java 繁琐写法 lombok 之 @Builder 重叠构造器模式特点:若干个构造方法,最短的一个参数,最长的...

  • java的构造方法

    java的构造方法 构造方法作用: 是定义在java类中的一个用来初始化对象的方法,用new+构造方法,创建一个新...

  • 四、Jni开发:C语言访问JAVA构造方法、父类方法

    这篇文章主要介绍了C语言访问JAVA的构造方法、父类方法。 访问构造方法 例子://使用java.util.Dat...

  • 02Dart:并不支持构造函数的重载

    Java 代码中,使用了重载构造函数的方法,该方法在 Java 中很普遍,重载的构造函数和之前的构造函数具有相同的...

  • java.util.ArrayList源码解析

    java集合框架图 所属包 package java.util; 继承与实现关系 属性 构造方法 构造方法1: 构...

  • java构造方法(构造器)

    java构造方法(构造器) [TOC] 含义 语法 特点 好处

  • 构造方法

    java里的构造方法其实就是一个类被实例化时最先执行的就是构造方法在java里如果一个类没有构造方法,那么JVM就...

网友评论

本文标题:Java的日常之走进构造方法

本文链接:https://www.haomeiwen.com/subject/xnauwttx.html