• 构造方法与方法传值


    1. 构造方法(Constructor):构造方法用于完成对象属性的初始化工作,构造方法的特点:
    a) 构造方法的名字必须与类名完全一致(包含大小写)
    b) 构造方法没有返回值,连void也不能出现。
    c) 如果在定义一个类的时候,没有为类声明构造方法,那么Java编译器会自动为类添加一个没有参数且方法体为空的构造方法(默认的构造方法)
    d) 如果在定义一个类的时候,为类声明了构造方法,那么Java编译器就不会再为类添加构造方法了。
    e) 不能显式调用类的构造方法,构造方法通常是通过new关键字隐式调用。
    2. new关键字在生成对象时完成了三件事情:
    a) 为对象开辟内存空间。
    b) 调用类的构造方法。
    c) 将生成的对象的地址返回。
    3. 默认的构造方法:构造方法没有参数且方法体为空。
    4. 使用new来生成对象的时候,后面的小括号()表示构造方法的参数列表,如果构造方法不接收参数,那么小括号中的内容为空;如果构造方法接收参数,那么小括号中的实际参数就     需要与构造方法定义中的形式参数保持一致(参数数量一致、参数类型一致、按照顺序逐一赋值)。

    关于方法参数传递的总结:对于Java中的方法参数传递,无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)。在Java中没有传地址这一说法,关于引用类型的传递所传递的值是地址,但依然是在进行传值。

    什么类型的引用就能指向什么类型的对象,比如People类型的引用就能指向People类型的对象,但不能指向Student类型的对象。

    People people = new People(); // 正确
    People people = new Student(); //错误   注:这是在People与Student之间没有继承关系时才错误,在有继承关系是这一条语句是正确的

  • 相关阅读:
    让程序的性能提升10倍
    以正确的姿势实现一棵JavaScript菜单树
    利用php数组函数进行函数式编程
    yum安装下的nginx,如何添加模块,和添加第三方模块
    前端面试题 vue
    前端常用面试题目及答案-HTML&CSS篇
    使用after伪类,配合IE的zoom或者overflow清除浮动
    函数式编程
    在CentOS 7上安装Node.js
    node中__dirname、__filename、process.cwd()、process.chdir()表示的路径
  • 原文地址:https://www.cnblogs.com/daneres/p/4398696.html
Copyright © 2020-2023  润新知