this keyword details
学生类: package com.itheima_07; /** 学生类* * 起名字我们要求做到见名知意。* 而我们现在的代码中的n和a就没有做到见名知意,所以我要改进。* * 如果有局部变量名和成员变量名相同,在局部使用的时候,采用的是就近的原则。* * 我们有没有办法把局部变量的name赋值给成员变量的name呢?* 有。* * 什么办法呢?* 用this关键字就可以解决这个问题* * this:代表所在类的对象引用* 方法被哪个对象调用,this就代表那个对象* * 使用场景:* 局部变量隐藏成员变量*/ public class Student {private String name;private int age;public void setName(String name) { //"林青霞"//name = name;this.name = name;}public String getName() {return name;}public void setAge(int age) {//age = age;this.age = age;}public int getAge() {return age;} }
package com.itheima_07; /** 学生类的测试类*/ public class StudentDemo {public static void main(String[] args) {//创建对象Student s = new Student();System.out.println(s.getName()+"---"+s.getAge());s.setName("林青霞");s.setAge(28);System.out.println(s.getName()+"---"+s.getAge());} }
首先setXxx和getXxx方法是为了数据的安全性,其次为了让名字做到见名知意,将a改成了age,n改成了name。输出结果相当于没有对name或者age赋值,这是因为在setName()和setAge()中的name和age都是局部变量,而不是让局部变量的值赋值给了这个类的成员变量,所以为了解决这个问题这里引入了this关键字就彻底解决了这个问题。this..name = name;因为this代表所在类的对象引用,所以this.name就是成员变量的name,而后面的name采用就近原则指的是局部变量的name。s来调用setName()方法,this就代表这个s。使用场景就是局部变量隐藏了成员变量。
转载于:https://www.cnblogs.com/lzp123456-/p/9739674.html
this keyword details相关推荐
- warnings.warn(f“Pass {args_msg} as keyword args. From version
warnings.warn(f"Pass {args_msg} as keyword args. From version FutureWarning: Pass threshold=18 ...
- TypeError: __init__() got an unexpected keyword argument #34serialized_options #34
TypeError: __init__() got an unexpected keyword argument 'serialized_options' TypeError: __init__() ...
- ElasticSearch 数据类型keyword和text的区别
原文:https://blog.csdn.net/lionel_fengj/article/details/78367570 [ElasticSearch]数据类型keyword和text的区别 在 ...
- Robot Framework--06 用户关键字User Keyword
转自:http://blog.csdn.net/tulituqi/article/details/7906130 在我们做自动化案例的时候,用的最多的主要是用户关键字.说到关键字,大体上可以分为测试库 ...
- JS 基础 —— JavaScript 关键字(keyword)与保留字
转载于: JavaScript 关键字(keyword)与保留字 一.JavaScript 所有关键字: break case catch continue default delete do els ...
- assetbundle能不能删除_Unity3d爬坑篇(2)之Assetbundle、Shader和Keyword
本系列基于:BDFramework .Unity3D 2018.4.0 BDFramework:Simple! Easy! Beautiful! This is a powerful Unity3d ...
- es 中关于 term,match, text, keyword
转自:https://blog.csdn.net/qq_38043440/article/details/101678677 最近项目中使用了ElasticSearch, 在使用基本的查询功能的时候, ...
- 安装sklearn-poter遇到报错(TypeError:‘encoding‘ is an invalid keyword argument for this function)
问题: 在python2.7环境下进行sklearn-poter模块的安装的时候报错如下: 解决方法1:(未尝试) 遇到错查度娘,建议升级: 升级pip:python -m pip install - ...
- VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)
VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223) 1 VBS VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的 ...
最新文章
- 【神经网络】(10) Resnet18、34 残差网络复现,附python完整代码
- 声音定位的距离误差到底有多高?
- 由一棵二叉树的先序序列和中序序列可唯一确定这棵二叉树
- 修改Mysql的root密码方法归纳
- anaconda不同虚拟环境下使用jupyter的问题
- idea无法忍受_不要成为无法忍受的软件开发人员
- matlab水蒸气焓值计算_从第一性原理计算出发来理解含能配合物宏观行为的趋势...
- C# 运行控制台程序中文乱码
- 解决pytorch二分类任务交叉熵损失函数CrossEntropyLoss报错:IndexError: Target 1 is out of bounds.
- 牛客网算法题目-最优乘车题解
- unity3D【全版本】设置中文
- Windows系统下长ping记录日志小工具
- vim打开bin文件
- 本地化差分隐私(Local Differential Privacy)浅析
- 【附源码】计算机毕业设计java信用卡增值业务系统设计与实现
- 西普实验吧CTF-Hashkill
- 广州大学计算机学院谢冬青杀人案,广州大学6.29故意杀人案细节披露:谢冬青因怀疑被举报而杀人...
- python re findall 再次应用
- 常用滤波器设计之低通滤波器、高通滤波器、带通滤波器、带阻滤波器
- think php 广告位,海报广告位管理 - 简单好用的海报和广告管理工具 – 基于ThinkPHP和Bootstrap的极速后台开发框架...