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博客༺ཌ༈君☠纤༈ད༻同步发布

posted @ 2020-02-29 23:44  ༺ཌ༈君☠纤༈ད༻  阅读(447)  评论(0编辑  收藏  举报