1.1构造函数
(1)简单的说,构造函数就是构建创造对象时调用的函数。
(2)构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。 --源于百度百科
1.2作用和特点
(1)可以对对象初始化;创建对象都必须要通过构造函数初始化。
(2)构造函数的命名必须和类名完全相同。它没有返回值,也不能用void来修饰。
2.一个类中如果没有定义过构造函数,那么该类中有一个默认的空参数构造函数。
如果在类中定义了构造函数,那么类中的默认构造函数就没有了。
3.一般函数和构造函数有什么区别呢?
构造函数:(1)对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
(2)对象创建时,只会调用一次。
(3)它没有返回值,也不能用void来修饰。
一般函数:(1)对象创建后,需要该函数功能时,才调用。
(2)对象创建后,可以被调用多次。
(3)有返回值,即使是void返回值。
4.什么时候定义构造函数呢?
在描述事物时,该事物已存在就具备一些内容,这些内容都定义在构造函数中。
5.构造函数及其重载举例
class Person
{
private String name;
private int age;
//定义一个Person类的构造函数
Person()//构造函数,而且是空参数
{
name = "baby";
age = 1;
System.out.println("Person run");
}
Person(String n)
{
name = n;
}
Person(String n, int a)
{
name = n;
age = a;
}
Person(int a,String n)
{
name = n;
age = a;
}
void speak()
{
System.out.println(name+": "+age);
}
}
class ConsDemo
{
public static void main(String [] args)
{
//构造函数:构建创造对象时调用的函数 作用:可以对对象初始化
Person p = new Person();
Person p1 = new Person("旺财");
Person p2 = new Person(4,"小强");
p.speak();
p1.speak();
p2.speak();
}
}
6.静态代码块
static{
代码...
}
随着类的加载而执行,而且只执行一次。
作用,对类进行初始化。
一般使用静态代码块的的类中,只有静态变量。
7.构造代码块
{代码...}
随着对象的创建而加载,创建几个对象就加载几次
作用,可以给所用对象初始化
构造函数是给对应的对象进行针对性的初始化。
构造代码块是对所有对象初始化
8.局部代码块一般在函数中,限定了局部变量的生存周期。
9.如果一个类中有静态代码块,构造代码块,构造函数。
首先执行的是静态 然后是 构造,最后是构造函数。