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提供的垃圾回收机制可以自动判别对象是否还在使用,并能够自动销毁不在使用的对象,收回对象所占用的资源。