java中构造方法和普通方法的区别

一、普通方法
是有修饰符修饰的成员方法,根据关键字static的有无分为静态方法和非静态方法;一旦使用static修饰成员方法,就成为了静态方法,静态方法不属于对象,而是属于类的;如果没有static修饰的成员方法,那么必须先创建对象,然后通过对象调用它;普通方法可以有返回值也可以没有返回值,而构造方法不能有返回值;普通方法是不能通过new来创建的,可以通过对象名来调用;

二、构造方法
当一个类实例化对象的时候,用到的方法就是构造方法,我们可以看到在一个类里面的构造方法并不是从别的类里面引进来的,而是自己本身就有的方法。换句话说,构造方法就是类构造对象时调用的方法,主要用来实例化对象。

特点:(1)方法名称和类名相同 (2)不用定义返回值类型 (3)不可以写return语句

1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

2.类中必定有构造方法,若不写,系统自动添加无参构造方法。接口不允许被实例化,所以接口中没有构造方法。

3.不能被static、final、synchronized、abstract和native修饰。

4.构造方法在初始化对象时自动执行,一般不能显式地直接调用.当同一个类存在多个构造方法时,java编译系统会自动按照初始化时最后面括号的参数个数以及参数类型来自动一一对应。完成构造函数的调用。

5.构造方法分为两种:无参构造方法 有参构造方法。

注意:
构造方法:对象创建时,就会调用与之对应的构造方法,对对象进行初始化;在对象创建时,会调用且只调用一次。
一般方法:对象创建后,需要方法功能时才会调用。对象创建后,可以被调用多次。

相同点:
都可以重载

``

class  Person{

public Person(){

System.out.println("无参构造方法");

}

public Person(String nam){

System.out.println("重载的带参构造方法");

}

public void say() {

System.out.println("普通方法 ");

}

public void say(String name) {

System.out.println(name+"重载的普通方法 ");

}}

``