1、普通方法:

   语法:

[修饰符] 返回值类型 方法名(参数){
    方法体;
}

   返回值类型:

  • void无返回值
  • 还有基本数据类型

   例:

public void test(String name){
    System.out.println(name);
}

2、构造方法:

   语法:

[修饰符] 构造器(参数或者无参数){

}

   无返回值类型,

   例:

public Test(参数){}

构造器的名字必须与类名相同;

无返回值类型的声明;

               3、没有指定构造方法时,系统会自动创建;

               4、构造方法创建对象时,需要调用new, 例:

Student s = new Student();

作用:构造方法主要用来实例化对象!并且可以通过实例化对象为成员变量赋值;

分析:

  • 构造方法是一个与类同名的方法,在Java类中必须存在一个构造方法。
  • 如果在代码中没有显示的体现构造方法的话,那么编译器在编译的时候会自动添加一个没有形式参数的构造方法。这个构造
  • 方法跟普通的成员方法还是有很多不同的地方。如构造方法一律是没有返回值的,而且也不用void关键字来说明这个构造方法没有返回值。
  • 而普通的方法可以有返回值、也可以没有返回值,程序员可以根据自己的需要来定义。不过如果普通的方法没有返回值的话,那么一定要在方法定义的时候采用void关键字来进行说明。
  • 其次构造方法的名字有严格的要求,即必须与类的名字相同。
  • 也就是说,Java编译器发现有个方法与类的名字相同才把其当作构造方法来对待。
  • 而对于普通方法的话,则要求不能够与类的名字相同,而且多个成员方法不能够采用相同的名字。
  • 在一个类中可以存在多个构造方法,这些构造方法都采用相同的名字,只是形式参数不同。

Java语言就凭形式参数不同来判断调用那个构造方法。 在下面这段代码中,定义了两个构造方法,一个带参数,另一个没有带参数构造方法都不会有返回值,不过由于构造方法的特殊性,为此不必要在构造方法定义时带上void关键字来说明这个问题。


//定义一个类,类的名字为student。 
public class Student { 
    //定义一个方法,名字与类相同故为构造方法
    public Student() { 
        this(“Hello!”);
 }
//定义一个带形式参数的构造方法
    public Student(String name) { 

    }
}

 下面代码不是完整的示例:

Public class Person{
String name; 
    Sting sex;
    double weight;
    double heigh;

    //无参的构造方法
	public Person(){
		System.out.print(“这是一个人的构造方法”);
	}

    //有参的构造方法
	public Person(String name,String sex){
	this.name=name;
        this.sex=sex;
	weight = 0.0; 
        heigh= 0.0;
	} 

    public Person(String name,String sex, double weight,double heigh){
	this.name=name;
        this.sex=sex;
        this.weight=weight;
        this.heigh=heigh;
	weight = 0.0;
        heigh= 0.0;
	} 
}

//构造方法的使用
public class TestPerson{
    public static void main(String []args){
	//通过无参构造方法构造对象
	Person per = new Person();
	//通过有两个String类型参数的构造方法实例化对象
	Person per1 =new Person(“周润发”,”男”);
	//通过四个参数的构造方法实例化对象
    Person per2 =new Person(“张译”,”男”,30,174);
    }
}