Java面向对象--构造器(构造方法)

Posted ༺ཌ༈君☠纤༈ད༻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象--构造器(构造方法)相关的知识,希望对你有一定的参考价值。

构造器就是和类名相同但无返回类型的方法。用于当前或某一对象的实例化,并将当前或某一对象返回。要得到一个类的实例时,往往是要运行其构造函数的。本篇博客介绍Java面向对象中的构造器(构造方法的用法)。


构造器的概述

? 构造器是Java学习中很重要的一个概念,构造器可以提供许多特殊的方法,构造器作为一种方法,负责类中成员变量(域)的初始化。实例构造器分为缺省构造器和非缺省构造器。

修饰符 类名(参数列表){
       初始化语句;
}

构造器的特征

? 它具有与类相同的名称

? 它不声明返回值类型。(与声明为void不同,void也算是一种返回值类型,空返回类型)

? 不能被static、final、synchronized、abstract、native修饰,可以被权限修饰符(public,protected,default(缺省)、private)修饰,不能有
return语句返回值

构造器的作用

? 构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。如果想改变这种默认的初始化,就可以通过自定义构造器来实现。

? 构造器是一种特殊的方法,所以是可以重载的

构造器的分类

根据参数不同,构造器可以分为如下两类:

? 隐式无参构造器(系统默认提供)

? 显式定义一个或多个构造器(构造器的重载)

注意:

? Java 语言中,每个类都至少有一个 构造器(不写的话系统默认提供)

? 默认构造器的权限修饰符与所属类的修饰符一致

? 一旦显式定义了构造器,则系统不再提供默认构造

? 一个类可以创建多个重载的构造器

? 父类的构造器不可被子类继承

构造器的重载

? 构造器一般用来创建对象的同时初始化对象

? 构造器重载使得对象的创建更加灵活,方便创建各种不同的对象

? 构造器重载,参数列表必须,与方法的重载一致

构造器的使用举例

public class ConstructorTest {
    public static void main(String[] args) {
        /*
           在创建Dog类的实例时:Dog d = new Dog();
           系统自动调用构造器将属性初始化
        */
        Dog d1 = new Dog();
        System.out.println("狗狗的名字是" + d1.getName() + "有 " + d1.getLegs() + "条腿");
        Dog d2 = new Dog("圆圆" , 4);
        System.out.println("狗狗的名字是" + d2.getName() + "有 " + d2.getLegs() + "条腿");
    }
}

class Dog{
     private int legs;
        private String name;
        //Dog类的构造器,权限为public
        public Dog(){
            //初始化成员变量
            legs = 4;
            name = "小黑";
        }
        //构造器的重载
        protected Dog(String s,int i) {
            legs = i;
            name = s;
        }
        //成员变量的set和get方法
        public void setLegs(int i) {
            legs = i;
        }
        public int getLegs(){
            return legs;
        }
        public void setName(String s) {
            name = s;
        }
        public String getName(){
            return name;
        }
}
/*输出:
  狗狗的名字是小黑有 4条腿
  狗狗的名字是圆圆有 4条腿
*/

本博客与CSDN博客???Asio君???同步发布

以上是关于Java面向对象--构造器(构造方法)的主要内容,如果未能解决你的问题,请参考以下文章

java面向对象

Java—面向对象—构造方法及相关思维导图

Java:面向对象--继承

Java面向对象--构造器(构造方法)

JAVA基础07 面向对象2

java面向对象_构造器