关闭

类中的构造函数

355人阅读 评论(0) 收藏 举报

1、构造函数概念

构造函数就是构建创造对象时调用的函数,构造函数在创造对象时就调用,用于对该对象属性的初始化。所有的对象创建时,都需要进行初始化才可以使用。一个类中如果没有定义构造函数,那么该类中会有一个默认的空参数的构造函数,如果在类中定义了构造函数,类中默认的那个空参数的构造函数就不再存在了。

构造函数特点:

①构造函数名称和所在类名称相同

②构造函数不需要定义返回值类型

③构造函数没有具体的返回值

所有的对象都需要进行初始化才能够使用

class Person
{
	private String name;
	private int age;
	Person()
	{
		age = 12;
		name = "小强";
		System.out.println("Person() is running");
	}
	void speak()
	{
		System.out.println("name="+name+"\nage="+age);
	}
}
class PersonTest
{
	public static void main(String[] args)
	{
		Person p = new Person();
		p.speak();
	}
}

该程序运行结果是:

name=小强
age=12

2、构造函数和一般函数的区别

构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。初始化动作只执行一次。
一般函数:对象创建后,需要函数功能时才调用。 可以多次进行调用。

3、构造函数的重载

一个类中可以有多个构造函数,他们是以重载的形式来体现的,即以参数列表的不同来区分的。

class Person
{
	private String name;
	private int age;
	Person()
	{
		name = "旺财";
		age = 10;
	}

	Person(String n)
	{
		name = n;
		age = 0;
	}

	Person(int a)
	{
		name = "babby";
		age = a;
	}

	void speak()
	{
		System.out.println("name="+name+"\nage="+age);
	}
}
class PersonDemo
{
	public static void main(String[] args)
	{
		Person p = new Person("小强");
		p.speak();
	}
}
输出结果:

name=小强
age=0
4、内存图解

创造对象时内存使用情况如下;


5、构造函数使用细节

①一般函数不能直接调用构造函数。

②构造函数如果前面加了void就变成了一般函数。

③构造函数中是有return语句的,return用于结束函数。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21190次
    • 积分:482
    • 等级:
    • 排名:千里之外
    • 原创:28篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类