`

构造器,重载,this,传递

    博客分类:
  • java
JVM 
阅读更多
  
一、构造器
当我们创建一个类时,系统便会自动给它赋予一个无参数的构造器,构造器严格的说来不算是方法啦,只是因为它可以传入参数,所以也把它叫作构造器方法,构造器方法不能定义返回值,且必须与类名字一样。构造器方法只有在创建对象时调用,对于一个对象而言,构造器只能调用一次。当然,构造器和一般的方法一样也可以重载,定义可以传入不同参数的构造器,这也构造方法的主要用途:在创建对象时,初始化对象某些属性值。要注意的是:每个类都有一个默认的无参构造器,但是如果重写了一个有参数的构造器,则默认的无参构造器就不能调用,除非在类定义中显示声明。构造方法实用来实例化一个对象。同时,构造器方法可以在构造器中调用自己的另外一个构造器,就是说构造器可以调用构造器,也可以调用方法,但在一般方法中不能调用构造器啦。


构造方法
格式:
public 类名(数据类型 参数名,...){
//方法体
}

区别:
1.名字不同
2.返回值类型不同
3.用途不同

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

用途:  1.实例化对象
2.给属性设置初始值
二、方法的重载
在一个类中,可以定义多个同名,但是方法的参数类型或是参数个数还有就是参数顺序不同的方法,叫做方法的重载。不仅是普通方法可以重载,构造器方法也是可以重载的它的好处是在创建对象的时,就可以初始对象内部的属性值。当然,调用重载的方法时,一定要注意参数的顺序,类型和个数。

三、this关键字
   this关键字只能调用当前类中的属性和方法
    用途:
     1.this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句,并且只能调用一次)
      2.this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)

四、 值传递和引用传递
    1.值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
     2.引用传递:如果在方法中把对象(或数组)作为参数,方法调用时,参数传递的是对象的引用(地址),即在方法调用时,实际参数把对对象的引用(地址)传递给形式参数。这是实际参数与形式参数指向同一个地址,即同一个对象(数组),方法执行时,对形式参数的改变实际上就是对实际参数的改变,这个结果在调用结束后被保留了下来。
分享到:
评论

相关推荐

    【04-面向对象(上)】

    •在构造器中可通过this来调用另外一个重载的构造器。 继承的特点 •Java通过关键字extends来实现,实现继承的类称为子类,被继承的类称为基类、超类、父类。父类是大类,子  类是小类。 •Java的继承...

    21天学通Java-由浅入深

    191 10.1.1 构造器的使用 191 10.1.2 被修饰的构造器 193 10.1.3 构造器方法与普通方法的区别 196 10.2 如何实例化一个对象 197 10.3 构造器的使用 199 10.3.1 构造器的调用 199 10.3.2 构造器重载 202 10.3.3 父子...

    疯狂JAVA讲义

    学生提问:为什么要用this来调用另一个重载的构造器?我把另一个构造器里的代码复制、粘贴到这个构造器里不就可以了吗? 143 5.6 类的继承 144 5.6.1 继承的特点 144 5.6.2 重写父类的方法 145 5.6.3 父类实例的...

    matlab灰度处理代码-50DaysOfCode:我的日常学习

    多重构造器 构造函数重载 上面的例子 参加 模块3 资源 第2天2020年9月24日 今天的进展 修改了Python中的以下概念 资料类型 变数 运营商 类型和类型转换 方法 解决了以上概念的10个问题。 解决了2个基本的Python ...

    新手学习C++入门资料

    为了避免这样的警告,C++允许声明一个无名形参,以告诉编译器存在该参数,且调用者需要为其传递一个实际参数,但是函数不会用到这个参数。下面给出使用了无名参数的C++函数代码: int fun(int x,int) //注意不同点...

    30天搞定Java–day9

    类及类的成员:属性、方法、构造器;代码块、内部类 面向对象的三大特征:封装、继承、多态 其它关键字:this、super、abstract、interface、static、final、package、import 谈谈你对面向对象中类和对象的理解,并...

    Visual C# 2010程序设计教程(教程PPT+源代码)

    1.2.4 “属性”及“解决方案资源管理器”面板 1.2.5 其他面板 1.2.6 Visual Studio 2010的新特性 1.3 创建控制台应用程序 1.4 本章小结 1.5 习题 第2章 Visual C# 2010语法基础 2.1 C#语言概述 2.2 C#基础元素 ...

    -C++参考大全(第四版) (2010 年度畅销榜

    第14章 函数重载、拷贝构造函数和默认变元 14.1 函数重载 14.2 重载构造函数 14.3 拷贝构造函数 14.4 查找重载函数的地址 14.5 重载的过去与现在 14.6 默认的函数变元 14.7 函数重载和二义性 第15章 运算符重载 ...

    Java开发技术大全(500个源代码).

    listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...

    LuaBind 源码 (Lua增强库)

    它和 luabind::module 类似,除了构造器 没有lua_State* 输入参数.用例如下: module(L, "my_library") [ // declarations namespace_("detail") [ // library-private declarations ] ]; 你可能会想到,下面两个...

    C++ Primer第四版【中文高清扫描版】.pdf

    12.2 隐含的this指针 376 12.3 类作用域 380 类作用域中的名字查找 382 12.4 构造函数 385 12.4.1 构造函数初始化式 387 12.4.2 默认实参与构造函数 391 12.4.3 默认构造函数 392 12.4.4 隐式类类型转换 393 12.4.5 ...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     7.3.2 返回*this的成员函数 246  7.3.3 类类型 249  7.3.4 友元再探 250  7.4 类的作用域 253  7.4.1 名字查找与类的作用域 254  7.5 构造函数再探 257  7.5.1 构造函数初始值列表 258  7.5.2 委托构造函数...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     7.3.2 返回*this的成员函数 246  7.3.3 类类型 249  7.3.4 友元再探 250  7.4 类的作用域 253  7.4.1 名字查找与类的作用域 254  7.5 构造函数再探 257  7.5.1 构造函数初始值列表 258  7.5.2 委托构造函数...

    visualC++2010入门经典源代码

    7.6 this指针 325 7.7 类的const对象 327 7.7.1 类的const成员函数 327 7.7.2 类外部的成员函数定义 328 7.8 类对象的数组 329 7.9 类的静态成员 331 7.9.1 类的静态数据成员 331 7.9.2 类的静态函数成员 334...

    轻松学C#(图解版)

    8.3.3 重载索引器 153 8.3.4 比较属性和索引器 153 8.3.5 比较索引器和数组 154 8.4 小结 154 8.5 习题 154 第9章 运算符重载 158 9.1 什么是运算符重载 158 9.2 如何进行运算符重载 158 9.2.1 一元运算符重载 159 ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    p1 调用缺省的构造方法(即没有参数),p2 则调用带参数的构造方法。p1、p2 分别对 应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。虽 然 new 运算符返回对一个对象的引用,但与 C、C++中的...

    Visual C++开发经验技巧宝典(第1章)

    0041 如何应用值传递参数 15 0042 赋值与初始化的区别 16 0043 如何初始化左值 16 1.5 名称空间 16 0044 为什么使用命名空间 16 0045 如何定义及访问命名空间 16 0046 利用命名空间解决命名冲突 17 ...

    基于JAVA的搜索引擎 lucene-2.2.0

    * a :一个传递进来分析器 * create :是否要重新写入索引文件,如果为true,则重写索引文件;如果为false,则追加写入索引文件 * closeDir :一个boolean型变量,表示是否关闭索引目录Directory d,与IndexWriter的...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    7.6 this指针 7.7 类的const对象 7.7.1 类的const成员函数 7.7.2 类外部的成员函数定义 7.8 类对象的数组 7.9 类的静态成员 7.9.1 类的静态数据成员 7.9.2 类的静态函数成员 7.10 类对象的指针和引用 7.10.1 类对象...

Global site tag (gtag.js) - Google Analytics