this关键字、this关键字应用
一、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关键字应用相关推荐
- python可变长参数(非关键字及关键字参数)
可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入.即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的: 可变长参数分为非关键字和关键字类型,分别对应 ...
- ES6 | let 关键字 + const关键字 + 箭头函数 + rest参数 + 扩展运算符 ... + Symbol + 迭代器 + 生成器 + 变量的解构赋值 + 模板字符串
目录 ECMASript 相关介绍 ECMASript 6 新特性 let 关键字 const关键字 变量的解构赋值 模板字符串 简化对象写法 箭头函数 => 参数默认值 rest参数 扩展运算 ...
- java outer关键字_Java关键字
Java关键字 Java关键字是编程语言里事先定义的,有特别意义的单词,Java语言中所有的关键字都是小写的英语单词.Java的关键字对Java的编译器有特殊的意义,它们用来表示一种数据类型,或者表示 ...
- java程序处理ibitis 关键字_java关键字总结
java关键字总结 关键字指的就是电脑语言中事先定义好,有其独特意义的标识符,专门提供给电脑语言识别的词语,所以它不能作为变量名.方法名.类名.包名或参数名等等. 在java中,总共有51个关键字,2 ...
- java 之 继承 super关键籽 this关键字 final关键字
继承 语法: 使用 extends 来继承 class子类 extends父类{ 子类属性 子类方法 } 继承的特点: 1.子类会把父类所有的属性和方法继承下来,final修饰的类是不可以被继承 ...
- 随笔② Java中的关键字 --- final关键字
一:final关键字 ① final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量.final变量经常和static关键字一起使用, ...
- java js关键字_JavaScript关键字和保留字
原标题:JavaScript关键字和保留字 Java关键字 ECMA-262描述了一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等.按照规则,关键字也是语言保 ...
- this关键字+super关键字
一.this关键字 1.实例一: (1)需求:使用Java类描述一个动物: (2)实例: class Animal{ String name; //成员变量 String col ...
- java class 关键字_java关键字及其作用
一. 关键字总览: 访问控制 private protected public 类,方法和变量修饰符 abstract class extends final implements interface ...
- mysql中distinct关键字,MySQL关键字Distinct的详细介绍
DDL Prepare SQL: ? Prepare Data: ? 查询数据如下图所示: 第一种情况,使用Distinct关键字,查询单列数据,如下图所示: 结果:对 name 字段进行去重处理,符 ...
最新文章
- paramiko使用1
- 谷歌火狐浏览器限制的端口
- 苹果自动关机_零下二十度,登山表爆表,苹果冻关机,电霸手机好
- java web 全局_JavaWeb - 【Listener】初始化全局资源
- 眼图观测实验报告_眼图观察测量实验
- java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离
- MongoDB异常修复
- 万兆网卡驱动_家庭基础万兆网络——最简单的方案
- “等等党”的春天到了?高端显卡暴降35% 华强北商家:还会继续降
- C语言 signal
- Intelij IDEA解决Dependency无法更新问题
- 解决使用elementUI框架el-upload上传组件时session丢失问题
- 大数据全球战略布局全面升级
- Base64---加密
- redis 字符串类型原子性实现方案与memcached-cas原子性性能比较
- opencart修改网站顶部电话联系方式
- 英文XP系统安装中文包
- Nordic nRF52840实战学习--使用nRF52840开发板抓蓝牙数据包
- 人工智能的主要优势是什么?
- 阿里职级体系与薪酬全曝光,P10以上都是世界大牛!
热门文章
- 计算机系统层次结构最顶层,在多媒体计算机系统的层次结构中,处于顶层的系统是( )。...
- Qt编程(一) Qt框架简介
- 解决IntelliJ IDEA duplicate class R.java and BuildConfig.java
- 正则表达式限制非中文字符输入
- 软件企业需要每年年审吗?
- 基于CORBA规范的中间件——CORBA基本原理
- WormHole是一个简单、易用的api管理平台,支持dubbo服务调用
- 【java8】LocalDateTime、LocalDate与LocalTime的基本使用
- 全国计算机一级级考试试题及答案,全国计算机等级考试一级考试试题及答案
- SVD与SVD++的学习