Java08-java语法基础(七)构造方法

一、构造方法

1、什么是构造方法?

构造方法(类方法)是一个方法名和类名相容的特殊的成员方法。

2、构造方法的作用?

当使用new关键字创建一个对象时,为新建对象在堆内存开辟一个空间之后,Java系统将自动调用构造方法初始化该新建对象。

3、对象初始化过程

二、构造方法的定义与调用

1、定义:

  class 类名{

        [访问权限] 类名(参数表){

      语句体;

          //构造方法没有返回值

    }

  }

2、调用:

类名 对象名 = new 构造方法名(实参表);

3、栈内存、堆内存

  Person p1 = new Person();

  上述语句中有两个对象:引用对象和内存对象

  具体的存储方式如下图:

  注:new运算符开辟的存储区都在堆内存中

三、构造方法:初始化对象

1、方法名必须和类名相同;

2、定义类时,若没有定义构造方法,java会自动生成一个无参的构造方法;若定义了构造方法,将会把自动生成的够造方法覆盖掉。

3、构造方法没有返回值,而普通的成员方法必须要有返回值类型;

4、构造方法只能用new运算符调用,不能用对象名调用;

四、构造方法的重载

1、方法重载:方法名相同,参数列表不同,实现的效果也不同;

2、构造方法的重载:给构造方法传递不同的参数,就能实现不同形式的初始化;

3、构造方法与普通方法的区别:构造方法是类的一种特殊方法,其特殊性如下:

  (1)可以重载;

  (2)方法名与类名相同;

  (3)不能有返回值,不使用return语句;

  (4)不能由编程人员显式的直接调用(即不能通过“对象名.方法名();”的方式调用),只能通过new操作符调用;

  (5)缺省的空构造方法:在java语言中,每个类都至少有一个构造方法,如果累的定义者没有显式的定义任何构造方法,系统将自动提供一个缺省的构造方法;如果定义了一个或多个构造方法,系统将不再缺省。

4、构造方法与普通成员方法的区别?

  (1)构造方法名与类名相同,成员方法自定义;

  (2)构造方法没有返回值,即没有方法类型;

  (3)构造方法由系统调用,用来实例化对象;

转载于:https://www.cnblogs.com/luoyu113/p/9295304.html

Java08-java语法基础(七)构造方法相关推荐

  1. 给Java初学者福利——Java语法基础

    Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注: 1.Java ...

  2. 【JAVA SE】第二章 Java语法基础、数据类型、基本类型的字面值、基本类型的类型转换和运算规则

    第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符命名风格 文章目录 第二章 Java语法基础.数据类型.基本类型的字面值.基本类型的类型转换.运算规则和标识符 ...

  3. Java语法基础-1

    1. 关键字 1.1 关键字概述 被Java语言赋予特定含义的单词 1.2 关键字特点 组成关键字的字母全部小写 1.3 关键字注意事项 goto和const作为保留字存在,目前并不使用 类似Note ...

  4. 【第七次JAVA课,java语法基础】课件总结

    没上课,不写总结! 空着,会专门写篇总结java的io和nio的随笔. 转载于:https://www.cnblogs.com/limitCM/p/9997971.html

  5. Java语法基础-2

    1. 语句 1.1 流程控制语句 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我 ...

  6. JAVA语法基础之流程控制

    在进行程序设计的时候,我们会经常进行逻辑判断,根据不同的结果做不同的事,或者重复做某件事,我们对类似这样的工作称为流程控制.在Java中,流程控制分为两大类:选择和循环.下面就依次来介绍这两类. 一. ...

  7. java语法基础(总结)

    1,keyword:事实上就是某种语言赋予了特殊含义的单词. 保留字:事实上就是还没有赋予特殊含义,可是准备日后要使用过的单词. 2,标示符:事实上就是在程序中自己定义的名词.比方类名,变量名,函数名 ...

  8. java语法基础总结,顺利拿到offer

    自我管理 谨言慎行 畅销书<影响力>提到,因为影响力的巨大差异,娱乐明星比科学家收入高几万倍.技术经理管理了N个人,影响力就是N倍,如果言行不端,造成的影响是基层人员的N倍.博主有过一个上 ...

  9. JAVA语法基础作业——动手动脑以及课后实验性问题(一)

    一.枚举类型 public class EnumTest {  public static void main(String[] args) {    Size s=Size.SMALL;    Si ...

  10. 【第四次JAVA课,java语法基础】课件总结

    类与对象 java是严格的面向对象的语言,所以里面所有功能的实现都是以类和对象的形式来实现的,类是方法和数据的集合,对象是类的实现(即类描述的对象).在使用类的方法时,需要定义一个该类的对象来使用其方 ...

最新文章

  1. DRF工程搭建、环境安装与配置
  2. shell脚本编程第一天
  3. 如何访问自定义键值的二维数组
  4. 生成打印标贴_亚马逊如何打印FBA标签?亚马逊怎么打印FBA标签?
  5. java旺季机票_java-第四章-机票价格受到淡季旺季的影响,编写的小程序
  6. aspnetcore源码学习(一)
  7. 1012 The Best Rank (25)
  8. leetcode刷题日记-供暖器
  9. 知识付费系统源码基于PHP开源的网站内容付费源码|知识付费小程序源码
  10. JUCE入门级教程01——界面设计(细分12块)
  11. 5G核心网技术基础自学系列 | 5G无线网
  12. MOS管的导通电阻RDS(on)与阈值电压VGS(th)温度特性详解
  13. 【Python】python基础编程回顾(3)
  14. 2020年十大返利app排行榜
  15. Enable Geolocation in a WebView (Android)
  16. [网络安全]实操DVWS靶场复现CSRF漏洞
  17. NMOS管与PMOS管区别
  18. 光遇为什么显示服务器连接错误,光遇服务器错误怎么办 光遇服务器错误问题解决办法-游侠手游...
  19. 大哉,计算语言学之为用!(冯志伟)
  20. 设计模式可以戏说么?

热门文章

  1. Hough变换的基本思想
  2. csdn无人驾驶汽车_无人驾驶汽车100年历史
  3. 模型越复杂越容易惰性_ML模型的惰性预测
  4. 如果波音公司破产,对美国经济的影响有多大?
  5. 一觉醒来,借呗竟然被封了
  6. python 对象的异或运算符_python的运算符
  7. python判断几个数最大最小_python 找出list中最大或者最小几个数的索引方法
  8. java命令_JAVA与模式之命令模式
  9. python比较列表所有项是否有相同的部分_检查列表中的所有元素是否相同
  10. matlab 邻近度 离群点_MATLAB自制迷宫游戏,快来试试吧!