黑马程序员技术交流社区
标题:
构造方法和普通方法的区别(除命名外)?
[打印本页]
作者:
坏男孩
时间:
2014-5-5 11:38
标题:
构造方法和普通方法的区别(除命名外)?
构造方法相比普通方法在编译运行时、程序执行性能方面以及作用有什么区别? 为什么要有构造方法?
作者:
云端思念
时间:
2014-5-5 11:44
构造方法是为了传递参数。A类的构造方法 在其他类中需要A类中的参数的时候 就可以用构造方法 回答的不是很完美 你再多看看。
作者:
海世山盟
时间:
2014-5-5 11:56
构造方法时为了实例化(类)对象而存在的。因为你是实例化本类的对象,所以构造方法名和类名是一样的。
构造方法没有返回值:
因为构造方法里面封装的都是类的初始化信息,只是初始化不对外提供信息,因此是没有返回值的(不是返回值为null)。我们可以根据自己的需要选择需要初始化的信息,因此构造方法也可以重构。
如果显示写构造方法,则在初始化对象的时候,默认调用空参数的。
一般方法:其实也叫功能函数。因为是定义的功能说明要对外提供服务,那么你就必须指定你要服务的类型了(返回值为int void 。。。。。)
作者:
Shimano
时间:
2014-5-5 12:04
class Person
{
private int age;
Person()//自定义空参数构造函数
{
System.out.println("无参数构造方法");
}
Person(int age)//自定义有参数构造函数
{
this.age = age;
System.out.println("有参数的构造方法");
}
public void method()//一般函数
{
System.out.println("一般成员方法");
}
}
class PersonDemo5
{
public static void main(String[] args)
{
Person p = new Person();//一个对象建立,构造函数只运行一次
Person p1 = new Person(20);
p.method();//被对象多次调用
p.method();
p.method();
}
}
复制代码
上边是相关代码,下边有文字分析:
1、 构造函数:
对象一建立就会调用与之对应的构造函数(注意“对应”的含义),
构造函数是给对象进行初始化的。
构造函数的一个小细节:当一个类中没有定义构造函数时,那么系统会给
该类加入一个空参数的默认构造函数
当类中你自己定义了构造函数,系统不会自动构造默认空参数的构造函数。
2. 什么时候定义构造函数:
当分析一种事物时,如果该事物存在就具备一些特性或者行为,那么就将该内容定义在构造函数内。
3. 构造函数和一般函数在的运行上的特点:
构造函数是在对象一建立就运行,给对象初始化。
而一般函数,对象调用才执行,是给对象添加具备的功能。
一个对象建立,构造函数值运行一次
而一般方法可以被该对象调用多次
作者:
z1342802487
时间:
2014-5-5 21:32
本帖最后由 z1342802487 于 2014-5-5 21:33 编辑
构造方法是一种特殊的方法。Java中的每一个类都有构造方法。用来初始化该类的一个新的对象。用new运算符开辟了新建对象的内存空间后,需要用构造方法来初始化这个新建对象 。
构造方法有以下特点:
(1)和类名相同的名称。
(2)不返回任何数据类型,甚至不用加void,这是因为类的构造方法隐含的返回类型是类本身。
(3)构造方法的作用是对类的对象进行初始化。
(4)在创建一个类的新对象时,系统会自动调用该类的构造方法。 (5)一个类中可以有多个构造方法,方法名相同,但参数类型和数量是不同的,这种形式在程序设计中被称为方法重载(overload)
class A
{
private String name;
A()
{
System.out.println("创建了一个A对象");
}
A(String name)
{
this.name=name;
System.out.println("创建了一个A对象名子为:"+this.name);
}
}
public class Test
{
public static void main(String[] args)
{
A a1 = new A();
A a2 = new A("a2");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2