this可理解为:当前对象或当前正在创建的对象


①在类的方法中, 我们可以使用"this.属性"或"this.方法"的方式,调用当前对象属性或方法。通常情况下,我们都选择省略"this."。特殊情况下,如果方法的形参和类的属性同名时,我们必须显式的使用"this .变量"的方式,表明此变量是属性,而非形参。

②在类的构造器中,我们可以使用"this.属性"或"this.方法"的方式,调用当前正在创建的对象属性或方法。通常情况下,我们都选择省略"this."。特殊情况下,如果构造器的形参和类的属性同名时,我们必须显的使用"this.变量"的方式,表明此变量是属性,而非形参。

在类的构造器中,可以显式的使用"this (形参列表)"方式,调用本类中指定的其他构造器。

构造器中不能通过"this (形参列表) "方式调用自己。

如果一个类中有n个构造器,则最多有n - 1构造器中使用了"this (形参列表) "。

规定: "this (形参列表) "必须声明在当前构造器的首行。


示例1:调用属性方法

class Person{ private String name ;private int age ;public Person(String name,int age){this.name = name ; this.age = age ; }public void getInfo(){System.out.println("姓名:" + name) ;this.speak();}public void speak(){System.out.println(“年龄:” + this.age);}
}

示例2:调用构造器

class Person{ private String name ;private int age ;public Person(){ // 无参构造器System.out.println("创建对象") ;}public Person(String name){this(); // 调用本类中的无参构造器this.name = name ;}public Person(String name,int age){this(name) ; // 调用有一个参数的构造器this.age = age;}public String getInfo(){return "姓名:" + name + ",年龄:" + age ;}
}

Java面向对象(6)--this关键字使用相关推荐

  1. Java 面向对象:super关键字的理解

    Java 面向对象:super关键字的理解 一.Super关键字: 1. super调用父类的构造方法,必须在构造方法的第一个 2. super只能出现在子类的方法或构造方法中! 3. super和t ...

  2. 【职坐标】java面向对象前言——static关键字

    Java面向对象前言 -- static关键字详解 一.      Static关键字的概念 static为"全局"或者"静态"的意思,用来修饰成员变量(类的属 ...

  3. java面向对象三个关键字_Java_面向对象_this关键字

    面向对象_this关键字 1.1 this调用构造方法 在之前学习方法之间调用时,可以通过方法名进行调用.可是针对构造方法,无法通过构造方法名来相互调用. 构造方法之间的调用,可以通过this关键字来 ...

  4. Java面向对象——构造方法和关键字(static、this、final、super)

    1 构造方法(Constructor)   1.构造方法和字段.方法一样,都是类中的成员之一:   2.构造方法的结构和普通方法类似,除了下面几点:   a.构造方法的名字和类名一致(包括大小写): ...

  5. java面向对象(this关键字)

    一.this的作用 1.this 相当于是指向当前对象本身 2.成员变量和局部变量同名问题 class Person {private int age;private String name;// 给 ...

  6. java面向对象三个关键字,Java 面向对象(三)static 关键字

    一.static 1.概述 static 的意思的静态的,也是一种修饰符. 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单属于某个对象的. 用 ...

  7. JAVA面向对象-----final关键字

    JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率.1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4: ...

  8. [转载] JAVA面向对象之代码块 继承 方法的重写 super关键字与重写toString()方法介绍

    参考链接: 可以重写Java中的私有方法吗 JAVA面向对象之代码块与继承 代码块分类 局部代码块 作用:限制变量生命周期 书写位置:在方法中 构造代码块 开发中很少使用 书写位置:类中  方法外 调 ...

  9. 面向小姐姐的编程——java面向对象之final、static关键字

    文章目录 final关键字 final的概念 final的作用 修饰类: 修饰变量: 总结 代码示例 static关键字 static的概念 static的作用 调用方式 static修饰成员变量 特点: ...

  10. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

最新文章

  1. 最终篇:简洁易懂,初学者挑战学习Python编程30天 (五)
  2. 数据库系统概念总结:第一章 引言
  3. 【日程发布】LiveVideoStackCon 音视频技术大会 2022 上海站
  4. mysql 相同字段相减_mysql datetime 类型字段相减
  5. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型
  6. 电商平台营销活动玩法大全、拓客、吸粉、裂变、引流、团购返现、限时折扣、找人代付、砍价代付、多人拼团、优惠套餐、秒杀折扣、满减优惠、电商营销、电商推广、商品促销、营销红包、Axure原型、rp原型
  7. 简单快速部署nexus3私服
  8. phoneGap-Android开发环境搭建
  9. 取消input聚焦时的边框,去除ios点击时,自动添加的底色效果
  10. 计算机病毒是软攻击,计算机病毒攻击战是指将什么植入_常见问题解析
  11. 实习僧-竞品分析报告
  12. BGP双平面实验---bgp的选路
  13. 阿里云云原生数据湖体系全解读——数据湖构建 数据导入
  14. 旋风系统时间与服务器不一致,更新公告 | 8月15日早8点停服维护
  15. 手把手教你实现HBase免切片渲染空间大数据
  16. Join the IT | 一个初生程序猿的内心独白
  17. 袁萌:Linux病毒为何不会泛滥成灾?
  18. CKH IOD选择通过CSG增强其数字批发和物联网客户体验
  19. 我的作品 电子元件替换速查字典V5.0
  20. linux下freerdp编译,linux下安装freerdp连接windows远程桌面的好软件软件

热门文章

  1. Linux 如何安装程序的源代码软件包/源码程序包/源码包?
  2. Linux 命令之 iostat 命令-监视系统输入输出设备和 cpu 的使用情况
  3. MySQL 数据类型和 Java 数据类型对照表
  4. 异步非阻塞_细说同步异步、阻塞非阻塞
  5. pip安装mysql模块_使用pip安装mysql模块for python
  6. QT 手动创建信号函数 与 槽函数
  7. 优朋普乐大数据_优朋普乐邵以丁:用大数据全面洞察需求
  8. python随机抽取人名_python实现艾宾浩斯背单词功能,实现自动提取单词、邮件发送,再也不用担心背单词啦...
  9. 在Swift中使用C语言的指针
  10. 【C语言入门学习笔记】如何把C语言程序变成可执行文件!