构造函数-默认构造函数
/**
* 特点:
* 1.函数名与类名相同
* 2.不用定义返回值类型
* 3.没有具体的返回值
*
* 作用:
* 给对象进行初始化
*
* 注意:
* 1.默认构造函数的特点
* 2.多个构造函数是以重载的形式存在的
*/
public class functionDemo {
/*
* 定义一个functionDemo类的构造函数.
* 构造函数,而且是空参数的
*/
functionDemo() {
System.out.println("构造函数调用");
}
public static void main(String[] args) {
/*构造函数:构建创造对象时调用的函数
*作用;可以给对象进行初始化.
*
*原理:一个类中如果没有定义过构造函数,那么该类中会
*有一个默认的空参数构造函数.
*如果在类中定义了指定的构造函数,那么类中的默认构造函数
*就没有了
*/
functionDemo f = new functionDemo();
}
}
构造函数和一般函数的区别
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化.
一般函数:对象创建后,需要函数功能时才调用.
构造函数:对象创建时,会调用只调用一次
一般函数:对象创建后,可以被调用多次.
构造函数-重载
/*
* 什么时候定义构造函数呢?
* 在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在
* 构造函数中.
*/
public class Person {
private String name;
Person() {
name="baby";
System.out.println(name);
}
Person(String name) {
System.out.println(name);
}
Person(String name,int age) {
System.out.println(name+",,"+age);
}
public static void main(String[] args) {
Person p = new Person();
Person p2 = new Person("Quinn");
Person p3 = new Person("Tom",1);
}
}
构造函数-内存图解
/*
* 什么时候定义构造函数呢?
* 在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在
* 构造函数中.
*
* 构造函数可以有多个,用于对不同的对象进行针对性的初始化.
* 多个构造函数在类中是以重载的形式来体现的.
*/
public class Person {
private String name;
Person() {
name="baby";
System.out.println(name);
}
Person(String name) {
System.out.println(name);
}
Person(String name,int age) {
System.out.println(name+",,"+age);
}
public static void main(String[] args) {
Person p = new Person();
Person p2 = new Person("Quinn");
Person p3 = new Person("Tom",1);
}
}