一、this关键字:
1、需求: 使用java类描述一个动物。

1)问题分析:存在同名的成员变量与局部变量时,在方法的内部访问的是局部变量(java 采取的是就近原则的机制访问的)。
2)内存分析:

2、this关键字代表了所属函数的调用者对象。

解释:哪个对象调用这个函数,this就代表哪个对象

3、this关键字作用:
1)如果存在同名成员变量与局部变量时,在方法内部默认是访问局部变量的数据,可以通过this关键字指定访问成员变量的数据。
a)举例:

b)内存分析:

2)在一个构造函数中可以调用另外一个构造函数初始化对象。

4、this关键字要注意事项:
1)存在同名的成员变量与局部变量时,在方法的内部访问的是局部变量(java 采取的是“就近原则”的机制访问的。)
a)举例:

b)解决办法:

public Animals(String name,int age){this.name = name;   //局部变量的name、age赋给成员变量this.age = age;
}

2)如果在一个方法中访问了一个变量,该变量只存在成员变量的情况下,那么java编译器会默认在该变量的前面添加this关键字。

问题:

解决方法:
this关键字另一个作用应用:在一个构造函数中可以调用另外一个构造函数初始化对象。

说明:

this(); //无参构造方法调用
this(name); //有一个参数的构造方法调用

5、this关键字调用其他的构造函数要注意的事项:
1)this关键字调用其他的构造函数时,this关键字必须要位于构造函数中的第一个语句。

class Animals{String name;int age;public Animals(String name,int age){this(name);     //调用本类一个参数的构造方法//这样的this关键字必须位于构造函数的第一个语句处this.age = age;System.out.println("两个参数构造方法");}//参数不同的构造函数public Animals(String name){this.name = name;System.out.println("一个参数构造方法");}public void eat(){System.out.println(name+"吃");}
}class Demo1{    public static void main(String[] args) {Animals dog = new Animals("狗",1);System.out.println(dog.name+","+dog.age);}
}

2)this关键字在构造函数中不能出现相互调用的情况,因为是一个死循环。

二、this关键字应用:
1、需求:使用java定义一个人类,人具备 id、name 、 age三个属性, 还具备一个比较年龄的方法。
2、要求: 必须要写上构造函数,构造函数也必须要使用上this关键字。
3、代码:
形式一:

形式二:

this关键字、this关键字应用相关推荐

  1. python可变长参数(非关键字及关键字参数)

    可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入.即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的: 可变长参数分为非关键字和关键字类型,分别对应 ...

  2. ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串

    目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...

  3. java outer关键字_Java关键字

    Java关键字 Java关键字是编程语言里事先定义的,有特别意义的单词,Java语言中所有的关键字都是小写的英语单词.Java的关键字对Java的编译器有特殊的意义,它们用来表示一种数据类型,或者表示 ...

  4. java程序处理ibitis 关键字_java关键字总结

    java关键字总结 关键字指的就是电脑语言中事先定义好,有其独特意义的标识符,专门提供给电脑语言识别的词语,所以它不能作为变量名.方法名.类名.包名或参数名等等. 在java中,总共有51个关键字,2 ...

  5. java 之 继承 super关键籽 this关键字 final关键字

    继承 语法: 使用 extends 来继承 class子类    extends父类{ 子类属性 子类方法 } 继承的特点: 1.子类会把父类所有的属性和方法继承下来,final修饰的类是不可以被继承 ...

  6. 随笔② Java中的关键字 --- final关键字

    一:final关键字 ① final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量.final变量经常和static关键字一起使用, ...

  7. java js关键字_JavaScript关键字和保留字

    原标题:JavaScript关键字和保留字 Java关键字 ECMA-262描述了一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等.按照规则,关键字也是语言保 ...

  8. this关键字+super关键字

    一.this关键字 1.实例一: (1)需求:使用Java类描述一个动物: (2)实例: class Animal{     String name;    //成员变量     String col ...

  9. java class 关键字_java关键字及其作用

    一. 关键字总览: 访问控制 private protected public 类,方法和变量修饰符 abstract class extends final implements interface ...

  10. mysql中distinct关键字,MySQL关键字Distinct的详细介绍

    DDL Prepare SQL: ? Prepare Data: ? 查询数据如下图所示: 第一种情况,使用Distinct关键字,查询单列数据,如下图所示: 结果:对 name 字段进行去重处理,符 ...

最新文章

  1. paramiko使用1
  2. 谷歌火狐浏览器限制的端口
  3. 苹果自动关机_零下二十度,登山表爆表,苹果冻关机,电霸手机好
  4. java web 全局_JavaWeb - 【Listener】初始化全局资源
  5. 眼图观测实验报告_眼图观察测量实验
  6. java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离
  7. MongoDB异常修复
  8. 万兆网卡驱动_家庭基础万兆网络——最简单的方案
  9. “等等党”的春天到了?高端显卡暴降35% 华强北商家:还会继续降
  10. C语言 signal
  11. Intelij IDEA解决Dependency无法更新问题
  12. 解决使用elementUI框架el-upload上传组件时session丢失问题
  13. 大数据全球战略布局全面升级
  14. Base64---加密
  15. redis 字符串类型原子性实现方案与memcached-cas原子性性能比较
  16. opencart修改网站顶部电话联系方式
  17. 英文XP系统安装中文包
  18. Nordic nRF52840实战学习--使用nRF52840开发板抓蓝牙数据包
  19. 人工智能的主要优势是什么?
  20. 阿里职级体系与薪酬全曝光,P10以上都是世界大牛!

热门文章

  1. 计算机系统层次结构最顶层,在多媒体计算机系统的层次结构中,处于顶层的系统是( )。...
  2. Qt编程(一) Qt框架简介
  3. 解决IntelliJ IDEA duplicate class R.java and BuildConfig.java
  4. 正则表达式限制非中文字符输入
  5. 软件企业需要每年年审吗?
  6. 基于CORBA规范的中间件——CORBA基本原理
  7. WormHole是一个简单、易用的api管理平台,支持dubbo服务调用
  8. 【java8】LocalDateTime、LocalDate与LocalTime的基本使用
  9. 全国计算机一级级考试试题及答案,全国计算机等级考试一级考试试题及答案
  10. SVD与SVD++的学习