## 三、构造函数
### 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 集合
- 异常