zoukankan      html  css  js  c++  java
  • java构造函数总结

    构造函数总结

    概念:    创建对象时由JVM自动调用的函数

    作用:    在创建对象的时候给对象的成员变量赋值;

    写法:

    修饰符:可以用访问权限修饰符(public、private等)修饰;不能用static修饰;

    返回值类型:没有返回值类型,连void都没有;

    函数名:必须和类名完全一样;

    参数列表:可以重载,具体根据要求而定;

    return语句:有,但是一般都不需要写;

    执行过程:

    创建对象时,JVM遇到new关键字,首先要到堆内存中开辟对象空间;然后在对象空间中为成员变量分配空间,赋默认值;

    然后再根据new关键字后面的内容,调用相应的构造函数进栈执行;等到构造函数执行结束,对象创建完成;

    默认构造函数:

    所有类中都至少有一个构造函数,如果一个类中没有书写构造函数,编译器就会帮我们添加一个无参的构造函数,这个构造函数就是默认构造函数;

    一旦类中书写了构造函数,就不会再有默认构造函数;

    使用细节:

    构造函数可以调用一般函数;

    一般函数不能调用构造函数;

    构造函数可以调用构造函数,不能通过函数名调用,必须通过this关键字调用;

    在构造函数中使用this语句调用其他构造函数,this语句必须写在构造函数的第一行;

    构造函数之间相互调用,不能出现交叉调用(递归调用);

    1、什么时候需要使用构造函数?

    只要创建对象,都要使用构造函数;

    2、什么时候需要自定义构造函数?

    如果希望在创建对象时就给成员变量赋值,就需要自定义构造函数;

    3、使用构造函数,可以在创建对象的时候就给对象的成员变量赋初始值,那么,有了构造函数,还需要提供get和set方法吗?

    需要;因为构造函数只能在创建对象的时候赋值一次;如果以后想要改变这个值,就需要用到set函数;如果需要获取被封装的值,就需要用到get函数;

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

    1、从书写格式上看:

    a)         构造函数:没有返回值类型,连void都不能写;构造函数的函数名必须和类名一样;不能用static关键字修饰;

    b)        一般函数:必须有一个返回值类型(是和构造函数最主要的区别);一般函数名不要和类名一样;可以用static修饰,也可以不要;

    如果一个函数函数名和类名一样,是否是构造函数,就要看有没有返回值类型;没有,就是构造函数;

    2、从调用方式上看:

    a)         构造函数:创建对象时由JVM调用的;一般函数不能调用构造函数;

    b)        一般函数:哪里需要哪里就可以调用;构造函数里面也可以调用一般函数;

    3、从作用上看:

    a)         构造函数:主要用来在创建对象的时候,给对象的成员变量赋值用的;

    b)        一般函数:实现某个具体功能;

    4、从一个对象可以调用次数上看:

    a)         构造函数:只有创建对象时会调用一次;

    b)        一般函数:没有次数限制;

     


    本博客文章均已测试验证,欢迎评论、交流、点赞。
    部分文章来源于网络,如有侵权请联系删除。
    转载请注明原文链接:https://www.cnblogs.com/sueyyyy/p/9268692.html

  • 相关阅读:
    TortoiseGit 文件比对工具使用 Beyond Compare 和 DiffMerge
    IE8/9 本地预览上传图片
    IT人经济思维之投资
    4、界面前端设计师指南
    IT软件人员的技术学习内容(写给技术迷茫中的你)
    IT从业者的职业道路(从程序员到部门经理)
    jQuery插件库代码分享
    Magical平台类库代码分享
    软件外包的启示
    2、员工的激励与自我激励
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/9268692.html
Copyright © 2011-2022 走看看