java学习——29.构造方法
封装是面向对象的核心特性,是信息隐藏思想的具体实现技术。
Java提供构造方法、析构方法、方法重载、设置访问控制权限等措施对类进行封装。
今天介绍构造方法。
1、构造方法
类的构造方法用于创建类的一个实例并对实例的成员变量进行初始化。
构造方法与其他方法的不同之处在于:构造方法与类同名。
构造方法通过new运算符调用。
注:构造方法只在创建对象时调用一次。如要修改成员变量的值只能自己写方法修改,不能再通过构造方法来修改。
2、声明构造方法
一个类可声明多个构造方法对成员变量进行不同需求的初始化,构造方法不需要写返回值类型。
例:
public class Circle{
private double radius;
public Circle(double radius){//声明构造方法,初始化成员变量
this.radius=radius;
}
}
3、调用构造方法
使用new运算符调用指定类的构造方法。
例:
Circle c=new Circle(3.0);
4、默认构造方法
当一个类没有声明构造方法时,Java自动为该类提供一个无参数的默认构造方法。
默认构造方法对各成员变量按其数据类型进行初始化。
整数初始化为0,浮点数初始化为0.0,字符初始化为'\u0000’,布尔类型初始化为“false”,引用数据类型初始化为null。
例:上篇(java学习——28.类和)中的例题
Circle类并没有构造方法,但在创建对象时:
Circle c=new Circle();
调用了默认构造方法。
如:以下代码
public class Circle1{
public double radius;
public double get_radius(){
return radius;
}
public static void main(String args[]){
Circle1 c=new Circle1();
System.out.println("The radius is "+c.radius);
}
}
其输出结果为:The radius is 0.0
此例即调用了默认构造方法,将double类型的值初始化为0.0。
5、拷贝构造方法
类的拷贝构造方法指参数为该类对象的构造方法,实现对象的复制功能。
Java不提供默认的拷贝构造方法,要实现对象的复制,得自己写。
例:public Circle(Circle c){
this.radius=c.radius;
}
6、构造方法重载
Java支持构造方法重载。
例:圆类。
public class Circle1{
public double radius;
public Circle1(){
radius=1;
}
public Circle1(double radius){
this.radius=radius;
}
public Circle1(Circle1 c){
this.radius=c.radius;
}
publics tatic void main(String args[]){
Circle1 c=new Circle1();
System.out.println("The radius is"+c.radius);
Circle1 c1=new Circle1(3.0);
System.out.println("The radius is"+c1.radius);
Circle1 c2=new Circle1(c1);
System.out.println("The radius is"+c2.radius);
}
}
其运行结果为:
The radius is 1.0
The radius is 3.0
The radius is 3.0