黑马程序员——JAVA基础之构造函数,构造代码块

时间:2023-02-11 17:09:53

------- android培训java培训、期待与您交流! ----------

 

 

构造函数特点:
1.  函数名与类名相同
2.  不用定义返回值类型
3.  不可以写return语句


 

构造函数的作用:可以用于给对象进行初始化。 


 

注意:
1.  默认构造函数的特点。
2.  多个构造函数是以重载的形式存在的。

 

构造函数的小细节:

对象一建立就会调用与之对应的构造函数。  

当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。 

当在类中自定义了构造函数后,默认的构造函数就没有了。

 

一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。
如果类被public修饰,那么默认的构造函数也带public修饰符。
如果类没有被public修饰,那么默认的构造函数,也没有public修饰。
默认构造构造函数的权限是随着的类的变化而变化的。

 

构造函数和一般函数的区别: 

构造函数和一般函数在写法上有不同。在运行上也有不同。 

构造函数是在对象一建立就运行。给对象初始化。 

而一般方法是对象调用才执行,给是对象添加对象具备的功能。 

一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

 

什么时候定义构造函数呢? 

当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。 

 

/**
* 构造函数的演示
*
*/

class Person
{
private String name;
private int age;

Person()
{
System.out.println("A: name="+name+",age="+age);
}

Person(String name)
{
this.name=name;
System.out.println("B: name="+name+",age="+age);
cry();
}

Person(String name,int age)
{
this.name=name;
this.age=age;
System.out.println("C: name="+name+",age="+age);
cry();
}

public void cry()
{
System.out.println("cry......");
}
}

class PersonDemo
{
public static void main(String[] args)
{
Person p1 = new Person();
Person p2 = new Person("lisi");
Person p3 = new Person("lisi",10);
}
}


构造代码块:

 

格式:

   {

      ...............

   }

 

构造代码块作用:

第一,可以对成员变量进行初始化
第二,通常情况下默认的无参数的构造代码块是创建对象必须使用的。
第三,可以对创建对象提供多种方式,即构造函数重载

 

构造代码块特点:对象一建立就运行,而且优先于构造函数执行。 

 

构造代码块和构造函数的区别: 

  构造代码块是给所有对象进行统一初始化, 而构造函数是给对应的对象初始化。 

  构造代码快中定义的是不同对象共性的初始化内容。 

 

 

------- android培训java培训、期待与您交流! ----------