什么是构造方法

一个特殊的方法
语法:
public 类名(){ }
定义在类的内部,其他方法外部。用来创建对象给属性赋值

构造方法的特点:

  1. 构造方法没有 返回值类型(连void都没有)
  2. 方法名必须和类名相同(一个类中要想用多个构造方法只能用重载)
  3. 构造方法不允许手工调用,在对象构造过程中(通过 new 关键字创建对象时)自动调用1次;(好比人类中的剪脐带,只在出生的时候剪一次)
  4. 构造方法可以重载
  5. 当没有手动添加构造方法时,系统会默认添加无参构造
    当添加有参构造方法时,将不再自动添加无参构造

作用:给实例中的对象赋值;

在现实生活中,很多事物一出现,就天生具有某些属性和行为。比如人一出生,就有年龄、身高、体重、就会哭;汽车一出产,就有颜色、有外观、可以运行等。这些,我们就可以将这些天然的属性和行为定义在构造函数中,当new实例化对象时,也就具有这些属性和方法了,没必要再去重新定义了,从而加快了编程效率。

构造方法的示例程序:

class Dog{
	//定义类的属性;
	String name;
	int age;
	double score;
	boolean sexual;

	
//构建无参构造函数
	public Dog(){}
	//构建有参构造函数
	public Dog(String n,int a,double s,boolean sex){
		name = n;
		age =a;
		score =s;
		sexual=sex;
	}
	//定义一个带一个参数的方法
	public void play(String n){
		System.out.println(name+"play");
	}
	//定义一个带三个参数的方法
	public void play(String n,int a,boolean sex){
		System.out.println("叫"+n+"的,"+a+"岁了;是"+(sex ? "公":"母")+"的;");
	
}
}

public class TestClass{
	public static void main(String[] args) {
		//对方法的声明,并赋值;
		Dog d= new Dog("小黄",3,58.0,true);
		//调用构造方法;
		//d.play();
		d.play("小黑",10,true);
	}

}

对象的创建语法:

`类名 对象名 = new 类名();`

对象的创建过程:

  1. 分配空间 所有的实例变量被赋予默认值;
  2. 初始化属性 所有的实例变量被赋予初始值,第二次为属性赋值的机会;
  3. 调用构造方法 实例变量常常被第三次赋值

属性的使用:

为属性赋值:
对象名.属性名 = 字面值;
s.name = “zs”;

取值:

数据类型 变量名 = 对象名.属性名; String name = s.name;
System.out.println(对象名.属性名);

方法的使用:
对象名.方法名(实参);

数据类型的引用:

变量按照类型划分

  • 8种简单数据类型:简单变量; 存值;
  • 对象变量(引用): 存对象的地址;

Java中参数 的传递规则:

  • 简单类型的参数 传值

  • 对象类型的参数 传地址 传引用 实参和形参指向同一对象

什么是引用?
对象类型的变量称之为引用

		类名 引用名 = new 构造方法名(实参);

注意:引用数据类 必须 和 对象类型保持一致

引用的特点:

  • 1,引用中存储的是对象在堆空间中的首地址
  • 2,对象在堆空间中是相互独立的
  • 3,引用的声明 Student s;
  • 4,引用之间相互赋值,赋的是首地址
  • 5,如果引用中存储的是null,使用引用会运行报错 空指针异常:java.lang.NullPointerException
  • 6,引用的应用: 应用于参数、返回值、数组