構造方法和(普通)方法的區別
一、區別:普通方法用來定義對象的功能行為,構造方法用來初始化
二、(普通)方法:有修飾符修飾的方法可以有返回值;也可以沒有返回值。
1.普通方法有返回類型,方法名小寫,不能和類名相同,如:void XX(){}
2.普通方法:代表對象可以干什么(行為)
三、構造方法:可創建一個對象,並可初始化對象的值,構造方法可以進行任何活動,但是經常將它設計為進行各種初始化活動,比如初始化對象的屬性。初始化要調用new,如:Student student=new Student();
1.構造方法的名和類名必須相同。
2.在構造方法名的前面沒有返回值類型的聲明。
3.在構造方法中不能使用return語句返回一個值,void也沒有。
5.構造方法分為兩種:無參構造方法 有參構造方法(目的就是為了給對象實例變量賦值)。
6.當有指定構造方法時,無論該構造方法是有參,還是無參,系統都不會再自動添加無參的構造方法,沒有參數的構造方法稱為默認構造方法
7.構造方法的重載:方法名相同,但參數不同的多個方法,調用時會自動根據不同的參數選擇相應的方法。
8.不能被static、final、synchronized、abstract和native修飾。
9.接口不允許被實例化,所以接口中沒有構造方法。
```
package com.cqyti.chenyu6;
public class Wisher {
String name = "美的";
String size = "中等";
String color = "黑色";
//無參構造
public Wisher() {
}
//有參構造
public Wisher(String name, String color) {
this.name = name;//將里面的name賦值到外面的String name = "美的";
this.color = color;
}
//有參構造,目的就是為了給對象實例變量賦值
public Wisher(String name, String color,String size) {
this.name = name;
this.color = color;
this.size=size;
}
//方法
public void wishing() {
System.out.println("可以洗衣服");
}
@Override
public String toString() {//toString方法 fn+alt+delete方法 否則輸出的對象會指向地址
return "Wisher{" +
"name='" + name + '\'' +
", size='" + size + '\'' +
", color='" + color + '\'' +
'}';
}
public static void main(String[] args) {
//創建對象、使用的無參
Wisher wisher=new Wisher();
//給無參對象賦值
wisher.name="格力";
//創建對象 有參構造 直接在創捷的時候就賦值
Wisher wisher1=new Wisher("小天鵝","red");//ctrl+p
System.out.println(wisher);
System.out.println(wisher1);
wisher.wishing();//對象wisher調用wishing方法
wisher1.wishing();
}
}
```