成员方法

类成员主要包括成员变量和成员方法。
带参数的成员方法
带参数的成员方法可以接受用户输入的内容。创建带参数的方法时定义的参数叫形式参数,即形参;调用方法时传入的参数叫实际参数,即实参。
语法结构:

// 有参方法
[访问修饰符] 返回值类型 方法名(参数列表){代码;return 具体的返回值;}

参数传递:

基本数据类型做参数时,传递的是值,不能出方法的范围
引用数据类型做参数时,传递的是地址,可以影响方法外部
特殊:String做参数时,等同于基本数据类型

方法重载

方法重载是指在一个类中定义多个同名的方法,每个方法的参数列表不同。
方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。

重载的方法必须在同一个类中
方法名相同
参数列表不同(不包含参数名不同)
方法的重载与访问修饰符和返回值类型无关

成员变量

类中的属性,也就是直接在类中定义的变量称作成员变量,它定义在方法外面。
局部变量就是定义在方法中的变量;一般情况下,局部变量在使用前需要赋值,否则会编译出错。

成员变量和局部变量的区别

作用域不同。局部变量的作用域仅限于定义它的方法,在该方法外无法访问它;成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量
初始值不同。成员变量在定义时可以不初始化,Java会给成员变量赋初始值;但是Java不会给局部变量赋初始值,因此在定义局部变量时必须初始化后再使用
在同一个方法中,不允许有同名的局部变量,在不同的方法中可以有同名的局部变量
局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级

构造方法

Java中,当类创建一个对象时会自动调用该类的构造方法,构造方法分为默认构造方法和带参数的构造方法。
构造方法的主要作用是进行一些数据的初始化;定义构造方法的语法格式:

// 构造方法
访问修饰符 方法名([参数列表]){初始化代码;}

构造方法没有返回值
默认构造方法没有参数,因此参数列表可选
构造方法的方法名与类名相同
如果自定义了一个或多个构造方法,中 Java不会自动添加默认的构造方法;此时若还想使用默认构造方法,则需要手动写出默认构造方法

this关键字

this 关键字是对一个对象的默认引用。
this 的使用:
(1)调用成员变量;在方法中调用成员变量,若局部变量和成员变量同名,则需要通过 this 关键字区分成员变量和局部变量

// this关键字调用成员变量
public void setName(String name){this.name=name;
}
public void setName(String xm){name=xm;
}

当成员变量和局部变量同名时,必须使用 this 关键字,这里 this. 后面指的是成员变量
当成员变量和局部变量不同名时,this 关键字可以省略
(2)使用 this 调用成员方法

// this关键字调用成员方法
public void setName(String name){this.name=name;
}
public void setName(String xm){this.setName();
}

调用方法时,this 关键字可以省略
(3)使用 this 关键字调用重载的构造方法,只能在构造方法中使用,且必须是构造方法的第一条语句

// this关键字调用构造方法
public void Penguin(String name,String sex){this.name=name;this.sex=sex;
}
public void Penguin(String name,int health,int love,String sex){this(name,sex);this.health=health;this.love=love;
}

最后

感谢你看到这里,看完有什么的不懂的可以在评论区问我,觉得文章对你有帮助的话记得给我点个赞,每天都会分享java相关技术文章或行业资讯,欢迎大家关注和转发文章!

java this关键字的使用_做java两年了,构造方法和方法重载还是搞不明白?一文帮你搞定...相关推荐

  1. java的关键字和保留字_「Java」详解常见的53个关键字

    1.在Java中目前一共有53个关键字: 其中由51+2个保留字=53个关键字 [友情提示 : Java的关键字都是小写哟] 2.Java的保留字有多少个?分别是什么? 答:Java的保留字有2个,J ...

  2. java要学mysql 吗_做JAVA开发需要把数据库学习到何种程度

    原标题:做JAVA开发需要把数据库学习到何种程度 做JAVA开发需要把数据库学习到何种程度?智递科技小编和大家一起探讨交流: 1.开发人员对DB的掌握,越深入,你能做的事情就越多. 2.完成业务功能, ...

  3. java重载中this的作用_Java2:构造方法、方法重载和this关键字

    上一篇博客小编已经给读者介绍了Java入门的类与对象,这一章节我们来了解一下构造方法,方法重载以及this关键字. 一:构造方法 Java中方法一般有2中:普通方法和构造方法.我们已经知道普通方法的声 ...

  4. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  5. java一天一次_做JAVA两年,月薪18k,这些自学心得你绝对值得借鉴

    我是一个做了两年java的小程序员,目前在杭州工作,月薪是18K,经历过两次跳槽,第一次跳槽拿到了12K的offer,第二次跳槽拿到现在18K的offer.我上的大专,在学校是学机电一体化的,接触过工 ...

  6. java 传绝对路径无效_【Java并发005】原理层面:volatile关键字全解析

    一.前言 在Java 5之前,volatile是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果. 在Java 5之后,volatile关键字才得以重获生机. volatile关键字虽 ...

  7. java好的代码_做java软件工程师,怎样才能写出好的代码?

    原标题:做java软件工程师,怎样才能写出好的代码? Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看 ...

  8. java json转抽象对象_做一次面向对象的体操:将 JSON 字符串转换为嵌套对象的一种方法...

    原标题:做一次面向对象的体操:将 JSON 字符串转换为嵌套对象的一种方法 来源:琴水玉 , www.cnblogs.com/lovesqcc/p/9478678.html 程序员共读整理发布,转载请 ...

  9. java super关键字的作用_详解Java编程中super关键字的用法

    通过用static来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于C语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自 ...

最新文章

  1. 平板电脑哪个品牌的好_平板电脑性价比排行 这些品牌你值得拥有
  2. 07_UI基础_UITableView实战- 支付宝口碑
  3. Docker安装redis 设置密码
  4. Clumsy 弱网络环境模拟工具使用介绍
  5. python基础应用_【复习】mysql+python基础应用(20190815)
  6. runloop - CFRunLoopObserverRef
  7. 蓝叠 正在检查服务器最新,Windows update一直停留在正在检查更新
  8. 修改 cmd 字体为 Consolas
  9. java高效获取大文件的行数
  10. 函数专题:sum、row_number、count、rank\dense_rank over
  11. 【NOIP1999】【codevs1083】Cantor表(找规律)
  12. day20T3改错记
  13. 语音播放与录音 (五分钟学会用 非常全面)
  14. 坚果pro2救砖专用(文末包含twrp900E的解决方法)
  15. Mac关闭某个软件的所有窗口
  16. 七夕了,给你的那个TA画上一箭倾心吧~
  17. NKOJ 4043 (CQOI 2017) 老C的键盘 (树形DP)
  18. 雅思英语作文计算机和历史,关于computer的雅思写作范文
  19. 【DOTS学习笔记】DOTS简介
  20. 从Google Maglev到UCloud Vortex,如何造一个牛逼的负载均衡?

热门文章

  1. 国产数据库产业百花齐放 “1+4+4+N”格局形成
  2. 金牌访谈栏目《架构师说》重磅上线!
  3. 颠覆游戏开发,虚幻引擎 UE5 正式发布
  4. 从软件工程的角度比较Swift、Go和Julia,我有了这些发现
  5. 集中式还是分布式?账务类数据库架构的选型
  6. TIOBE 3 月编程语言:Swift 一路低走,Java 份额大跌
  7. “我们的边缘计算技术点,可能超前了业界一点”
  8. IBM将剥离传统IT基础设施部门;迅雷前CEO陈磊涉嫌职务侵占罪被调查 ;Python 3.9发布|极客头条
  9. 美团推出外卖版拼多多;iOS 14 Beta 3暂禁用3D Touch功能;Rust 1.45 发布| 极客头条
  10. 破碎的互联网下,加密技术正在恢复数据主权!