think in Java 第五章之this关键字

5.4 this 关键字:

  1.编译器暗自将“所操作对象的引用”作为第一个参数传递给方法:

class Banana{ void peel(int i){}}
public class bananaPeel{
  public void static main(String args...){
    Banana a = new Banana(),b= new Banana();
    a.peel(1);
    b.peel(2);
  }
}

  内部形式类似于:

Banana.peel(a,1);
Banana.peel(b,1);

  this在方法内部使用,表示“调用方法的那个对象”。

  2.当方法返回this时,即返回当前对象的引用。可以在一条语句中对同一对象进行多次操作。

a.add(params).add(params)...

  3.在构造器中,可以用this关键字调用本类其他构造方法,通过给this添加参数列表。需要注意的是(1)不能调用两个构造器,(2)必须放在构造器最起始处。

  4.在类的域变量和局部变量名字产生歧义的地方可以用this.var表示域变量。

时间: 2024-10-07 10:31:23

think in Java 第五章之this关键字的相关文章

java基础(五章)

java基础(五章) 一.        调试 步骤1:设置断点(不能在空白处设置断点) 步骤2:启动调试 步骤3:调试代码(F6单步跳过)笔记本Fn+F6(F5) 步骤4:结束调试 掌握调试的好处? l  很清晰的看到,代码执行的顺序 l  快速定位到异常代码出现的位置,并帮助修改或改进代码 二.     while循环 1.循环的优点? 减少重复代码的编写:程序会更加的简洁 2.语法 while(表达式){ // 1.表达式是[循环条件],结果必须是boolean类型 //2.{}中的代码,

“全栈2019”Java第五章:IntelliJ IDEA代码自动提示

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第五章:IntelliJ IDEA代码自动提示 下一章 "全栈2019"Java第六章:注释 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&quo

“全栈2019”Java异常第九章:throws关键字详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第九章:throws关键字详解 下一章 "全栈2019"Java异常第十章:throw与throws区别详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Ja

Thinking In Java第五章学习笔记

第五章:初始化与清理 初始化和清理是涉及程序安全的两个问题.Java构造器用于新建对象时的初始化,而垃圾回收器则进行清理. 构造器的名称必须与类名一样,虽然构造器是一种特殊的方法,但是每个方法首字母小写的编码风格并不适合用于构造器. 构造器是没有返回值的,但是new表达式却返回了对新建对象的引用. 方法重载是构造器所必须的.每个重载方法都必须独一无二的参数列表.甚至参数顺序的不同,也足以区分两个方法.不过一般不建议这么做,因为这会使代码难以维护.当传入的数据类型小于方法中声明的形式参数类型,实际

java第五章:面向对象(oop)之三大特性

封装(encapsolution) 程序设计要追求"高内聚,低耦合":高内聚就是类的内部数据操作细节自己完成,不允许外界干预:低耦合就是:仅暴露少量的方法给外界使用: 广义的封装就像包装: 权限修饰符:public ,protected,默认(什么都不写),private; class类的修饰符只能是public或者默认: 属性,方法,构造器可以使任意上述四种: 修饰符的访问权限 同类   同包  不同包的子类 不同包的其他类 public 是 是 是 是 protected 是 是

java第五章 子类与继承

5.1子类与父类 1   java不支持多重继承,即一个子类不可以从多个父类中同时继承,而C++中可以. 人们习惯地称子类与父类的关系式“is—a”的关系 2   再类的声明过程中,通过关键字extends来定义一个类的子类 eg:    class 子类名字 extends 父类名字{ } 3   java中的类按照继承关系可以形成树形结构,在这个树形结构中,根节点是Object类(Object类是java.lang包中的类),即Object类是所有类的祖先类, 每个类除了object类有且仅

java第五章:面向对象(oop)三大特性之多态

多态(把代码写活,提高代码的扩展性和可维护性) 生活中的多态:同一种物质,因不同的环境展现不同的形态(水:气态,液态,固态/碳12:金刚石,石墨) 程序中的多态:同一个"接口"因不同的实现,而执行不同的操作(就是在方法中把父类作为形式参数传入,调用的时候,传入子类的实例,最终执行的是子类中重写父类的方法) 多态一般结合方法重写.继承使用,父类引用指向子类: 多态实现步骤: 1.实现继承 2.编译时将父类作为形式参数类型传入(范围大一点,模糊一点) 3.运行时将子类new出的实例传入,最

java第五章:面向对象(oop)之 static关键字

java程序在执行过程中,类,对象以及它们成员加载.初始化的顺序如下: 1.首先加载要创建对象的类及其直接与间接父类. 2.在类被加载的同时会将静态成员进行加载,主要包括静态成员变量的初始化,静态语句块的执行,在加载时按代码的先后顺序进行. 3.需要的类加载完成后,开始创建对象,首先会加载非静态的成员,主要包括非静态成员变量的初始化,非静态语句块的执行,在加载时按代码的先后顺序进行. 4.最后执行构造器,构造器执行完毕,对象生成.上面四段话意思就是静态变量(全局变量)创建时间要早于new对象(成

java第五章:面向对象(oop)

方法重写/覆写(Override) 特点: 1一般发生在父子类间,子类重写父类中的方法,方法的返回值类型,方法名,形参列表都要与父类一样, 子类权限修饰符>=父类的权限修饰符 2.一旦重写了父类的方法,子类创建对象后,调用子类重写后的方法: [email protected]:重写的注解,标注当前方法为重写父类的方法,必须满足重写规则: 方法重载和重写的区别: 1.重载发生在同一个类中,主要提供同名不同参的方法:重写发生在父子类之间,主要为了结合多态使用,提高程序的扩展性和可维护性 2.重载,方