Java中构造方法与对象

  • 一、构造方法的概念及用途
  • 1.默认构造方法和自定义构造方法。
  • 2.说明:
  • 3.注意:
  • 二、对象的概述
  • 1.对象的创建:
  • (1)对象的声明:
  • (2)实例化对象
  • 2.对象的使用:
  • 3.对象的销毁


一、构造方法的概念及用途

构造方法是一中特殊的方法,它的名字必须与它所在类的明在完全相同,并且没有返回值,也不需要使用关键字void进行识别。
例如:

public class Apple{
	public Apple(){//默认构造方法
}
}

1.默认构造方法和自定义构造方法。

如果类例定义一个或者多个构造方法,那么java中不提供默认的构造方法。
例如:定义了一个Apple类,在该类的构造方法中初始化成员变量。

public class Apple {
	int num;//声明成员变量
	float price;
	Apple apple;
	public Apple() {//声明构造方法
		num = 10;//初始化成员变量
		price= 8.34f;
	}

	public static void main(String[] args) {
		Apple apple = new Apple();//创建Apple的实例对象
		System .out .print("苹果的数量:"+apple.num);
		System .out .print("苹果的单价:"+apple.price);
		System.out.print("成员变量apple="+apple.apple);
	}

}

在Java中可以自定义无参数的构造函数和有参的构造函数,例如:

public class Apple {
	int num = 10;//声明成员变量
	public Apple() {//声明构造方法
		num = 19;//初始化成员变量
	}
	public Apple(int i) {
		num = i;
	}

	public static void main(String[] args) {
		Apple apple = new Apple();//创建Apple的实例对象
		System .out .print("苹果的数量:"+apple.num);
		Apple app = new Apple(8);
		System.out.println("苹果的数量:"+app.num);
	}
}

输出结果:

苹果的数量:19苹果的数量:8

2.说明:

构造函数中有无参数的区别是,有参数的构造函数可以在用new的时候,同时给创建的对象中的数据赋值。

3.注意:

构造方法中没有类型!!!!!

二、对象的概述

一个对象在Java语言中的声明周期包括创建,使用和销毁三个阶段。

1.对象的创建:

(1)对象的声明:

格式:

类名 对象名;

类名:必选,用于指定一个已经定义的类。
对象名:必选,用于指定对象名称,对象名必须是合法的Java标识符。

Apple redApple;//声明Apple类的一个对象readApple

(2)实例化对象

解释:在声明对象时只是在内存中为其建立一个引用,并置初值null,表明不指向任何内存的空间。在声明对象以后,需要为对象分配内存,这个过程也称为实例化对象。在Java中使用关键字new来实例化对象。
语法格式:

对象名 = new构造方法名(参数列表]);

对象名:必选,用于指定已声明的对象名。
参数列表:可选参数,用于指定构造方法的入口参数。如果构造方法无参数,可以省略。

redApple = new Apple;

除此之外还可以同时声明对象和创建对象

Apple redApple = new Apple();

2.对象的使用:

创建对象后就可以访问对象的成员变量,并改变成员变量的值,还可以调用成员对象的方法。通过使用运算符"."实现对成员变量的访问和成员方法的调用。
语法格式:

对象.成员变量
对象.成员方法()

例子:定义一个,类,创建该类的对象,同时改变对象变量的值,并调用该对象的成员方法:

public class Round {
	final float PI = 3.14159f;
	public float r=0.0f;
	public float getArea() {
		float area = PI*r*r;
		return area;
	}
	public float getCiecumference(float r) {
		float circumference = 2*PI*r;
		return circumference;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Round round = new Round();
		round.r = 20;
		float r = 20;
		float area = round.getArea();
		System.out.println("圆的面积:"+area);
		float circunference = round.getCiecumference(r);
		System.out.println("圆的周长为: "+circunference);

	}

}

3.对象的销毁

在Java中不需要手动完成这项工作。Java提供的垃圾回收机制可以自动判别对象是否还在使用,并能够自动销毁不在使用的对象,收回对象所占用的资源。