/**
* 构造方法:
* 在创建对象的时候默认会调用构造方法,在堆中进行储存,主要目的是为了对成员变量进行初始化操作
* 语法:
* [修饰符] 返回值 方法名 参数列表 方法体
* 修饰符:4个{public,protected,[default],private}(后面才学,以后再写)
* 返回值:构造方法没有返回值
* 方法名:必须和类名保持一致
* 参数列表:和普通方法一样
* 方法体:主要是为成员变量进行初始化操作
* 注意:
* 1、当程序中没有显示的声明一个构造方法的时候,系统会给你一个默认的不带任何参数的空构造方法来供你创建对象使用
* 2、当你在程序中显示的声明了一个非空的构造方法,那么java编译器就不会再给你那个空参的构造方法了,
* 但是这时候你又想用空参的构造方法,那么只有再定义一个构造方法了
* 3、一个类中可以有多个构造方法
* 重载(overload):在一个类中可以有多个同名的方法,但是要求方法的参数列表不同
* 三方面的不同:
* 1.参数数量不同
* 2、参数类型不同
* 3、参数顺序不同
* 注意:
* 一般都需要使用构造方法的重载,因为成员变量可能会有很多个,但是我们只需要对部分成员变量进行初始化操作
*/
public class Oop {
//属性(成员变量,全局变量)
String name;
int age;
public Oop(){
System.out.println("空构造方法被执行了... ...");
}
//定义一个构造方法
public Oop(String tname, int tage){
System.out.println("Oop(String tname,int tage)被执行了... ...");
name = tname;
age = tage;
}
public Oop(int tage, String tname){
}
public Oop(int tage){
}
//形式参数带返回值如果要定义多个方法就用逗号隔开
public void test(String name,int age){
}
public void test(int age,String name){
}
public static void main(String[] args) {
//创建对象
Oop sb1 = new Oop();
sb1.name = "楠";
sb1.age = 18;
System.out.println(sb1.name);
System.out.println(sb1.age);
Oop oop = new Oop("顺",18);
System.out.println(oop.name);
System.out.println(oop.age);
}
}