## 三、構造函數
### 1、無參構造函數,有參構造函數
無參構造函數:
```
public 類名( ){
語句塊
}
```
有參構造函數:
```
public 類名( 參數列表 ){
語句塊
}
```
*****
備注:和普通的方法有什么區別?
1、沒有static,沒有返回值類型,沒有void
2、方法名和類名一致
### 2、構造函數在Java中起到的作用:
方便成員變量進行初始化操作
備注:如果程序中沒有書寫構造函數,系統會默認黑類添加一個無參構造函數
* 備注:如果你寫了有參構造函數時,系統將不再默認添加無參構造函數,建議手動添加無參構造函數
*****
### 3、java中this關鍵字的作用:
1. 代表本類,用來區別成員變量和局部變量
2. 在本類構造函數中調用自身的構造函數
(有參調無參,無參調有參)
3. 調用相關構造函數必須放在首行,否則會報錯
### 4、例
```
public class Student {
//有什么(成員變量)作用域:整個類中都能使用
String name;
int stuNo;
//無參構造函數
public Student(){
name="張三";
stuNo=123;
}
//有參構造函數
public Student(String name,int stuNo){
//為了區分成員變量和局部變量用關鍵字this表示
this.name=name;
this.stuNo=stuNo;
}
//會什么
public void study(){
System.out.println("姓名"+name+",學號:"+stuNo+"學習java");
}
//在方法里面聲明的變量為(局部變量)作用域:當前方法中使用
public void game(String str){
System.out.println("玩"+str);
}
public static void main(String[] args) {
//創建學生對象
Student s=new Student();//自動調用類中的無參構造函數
Student s2=new Student("李四",1234);//調用的是有參構造函數
// s.name="張三";
// s.stuNo=123;
s.study();
s.game("lol");
s2.study();
s2.game("lol");
}
```
- JAVA筆記
- 01、Java掃盲
- 1、JVM、JRE和JDK的區別
- 2、環境變量path和classpath的作用是什么?
- 3、變量有什么用?為什么要定義變量?什么時候用?
- 4、&和&&的區別?
- 5、標示符命名規則
- 6、數據類型
- 7、類型轉換
- 8、java語言的三種技術架構
- 9、java的跨平臺性
- 10、有符號數據的表示法(次重點)
- 11、按位運算符
- 12、函數
- 13、重載
- 14、數組
- 15、內存結構
- 一、數據結構
- 隨機數
- 流程控制語句
- if 和 if...else
- switch
- for
- 函數
- 重載
- 數組
- 數組的復制
- 冒泡排序法算法
- 方法
- 方法的重載
- 方法的練習
- 面向對象
- 面向對象的特點
- 如何創建類
- 如何創建對象
- 一、引用數據類型具有的默認值
- 二、成員變量和局部變量
- 三、構造函數
- 四、氣球理論
- 五、繼承(extends)
- 權限修飾符
- 封裝
- 內存的分配
- 多態
- super關鍵字
- static關鍵字
- final關鍵字
- 抽象類 抽象方法(abstract)
- 接口(interface)
- 單例模式(singleton)
- Object類
- 內部類
- 匿名內部類
- 階段項目
- 捕魚達人
- 飛機大戰
- 護盾功能
- 血條
- 爆炸
- API
- String 類相關的方法
- 第三方(Apache)jar包的使用
- 正則表達式
- StringBuffer 和StringBuilder 和Date
- 核心API:集合類
- List 集合
- 遍歷集合的方式
- 包裝類
- Map 集合
- 異常