欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

方法和构造方法的区别

程序员文章站 2022-04-01 11:23:53
一、为什么要有构造方法本来已经有方法了,为什么要有构造方法呢?我们知道,方法是指参数经过一定的...

我们知道,调用方法是指传入参数到方法中经过某种转化关系,输出相应的值的一个过程,而方法就是实现这种转化关系的一个序列。往往方法是为了实现某一功能,比如有如下代码:

public static int sum(int a,int b){
	int c = a + b;
	return c ;
}

上述代码中方法sum的功能是将传入的两个参数进行求和,然后将求出的和返回。

而所谓的构造方法就是说,当我们创建了一个对象之后,它从一出现就具有了某些属性和行为。比如Date类有年月日的属性。当我们用new实例化这个对象时,也就具有这些属性和方法了,没必要再去重新定义,这就是所谓的构造方法,它的作用是用来初始化成员属性和成员方法。比如如下代码:

class Date{
	int year;
	int month;
	int day;
	public Date(int year1,int month1,int day1){
		year = year1;
		month = month1;
		day = day1;
		System.out.println(year + "年" + month + "月" + day + "日");
	}
}
public class DateTest{
	public static void main(String[] args){
		Date time = new Date(2020,7,29);
		System.out.println("year = " + time.year);
		System.out.println("month = " + time.month);
		System.out.println("day = "  + time.day);
	}
}

执行结果如下:

2020729日
year =2020
month = 7
day = 29

如果使用方法来实现,比如如下代码:

public class DateTest{
	public static void main(String[] args){
		date(2020,7,29);
	}
	public static void date(int year,int month,int day){
		System.out.println( year + "年" + month + "月" + day + "日");
		System.out.println("year = " + year);
		System.out.println("month = " + month);
		System.out.println("day = " + day);
	}
}

执行结果如下:

2020729日
year =2020
month = 7
day = 29

比较上述两种代码,作出分析:
1、方法名没有太多要求,而构造方法名需要和类名一致
2、方法是为了实现某个功能,构造方法用来创建对象,以及完成属性初始化操作。上述两种代码中,调用方法的代码只是实现了一种输出"2020年7月29日,year =2020,month = 7,day = 29“的这种功能。而构造方法是创建了一个Date对象,这个对象具有year,month,day的属性,并将参数2020,7,29分别赋值给了year,month,day。
3、方法需要返回类型,就算没有返回值也要有void。而构造方法返回值类型不需要写,写上就报错,包括void也不能写。
4、构造方法的返回值类型实际上是当前类的类型。

本文地址:https://blog.csdn.net/weixin_43797245/article/details/107666013

相关标签: java