学生类:
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相关推荐

  1. 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 ...

  2. TypeError: __init__() got an unexpected keyword argument #34serialized_options #34

    TypeError: __init__() got an unexpected keyword argument 'serialized_options' TypeError: __init__() ...

  3. ElasticSearch 数据类型keyword和text的区别

    原文:https://blog.csdn.net/lionel_fengj/article/details/78367570 [ElasticSearch]数据类型keyword和text的区别 在 ...

  4. Robot Framework--06 用户关键字User Keyword

    转自:http://blog.csdn.net/tulituqi/article/details/7906130 在我们做自动化案例的时候,用的最多的主要是用户关键字.说到关键字,大体上可以分为测试库 ...

  5. JS 基础 —— JavaScript 关键字(keyword)与保留字

    转载于: JavaScript 关键字(keyword)与保留字 一.JavaScript 所有关键字: break case catch continue default delete do els ...

  6. assetbundle能不能删除_Unity3d爬坑篇(2)之Assetbundle、Shader和Keyword

    本系列基于:BDFramework .Unity3D 2018.4.0 BDFramework:Simple! Easy! Beautiful! This is a powerful Unity3d ...

  7. es 中关于 term,match, text, keyword

    转自:https://blog.csdn.net/qq_38043440/article/details/101678677 最近项目中使用了ElasticSearch, 在使用基本的查询功能的时候, ...

  8. 安装sklearn-poter遇到报错(TypeError:‘encoding‘ is an invalid keyword argument for this function)

    问题: 在python2.7环境下进行sklearn-poter模块的安装的时候报错如下: 解决方法1:(未尝试) 遇到错查度娘,建议升级: 升级pip:python -m pip install - ...

  9. VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223)

    VBS 常用总汇 (http://blog.csdn.net/sgear/article/details/1380223) 1 VBS    VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的 ...

最新文章

  1. 【神经网络】(10) Resnet18、34 残差网络复现,附python完整代码
  2. 声音定位的距离误差到底有多高?
  3. 由一棵二叉树的先序序列和中序序列可唯一确定这棵二叉树
  4. 修改Mysql的root密码方法归纳
  5. anaconda不同虚拟环境下使用jupyter的问题
  6. idea无法忍受_不要成为无法忍受的软件开发人员
  7. matlab水蒸气焓值计算_从第一性原理计算出发来理解含能配合物宏观行为的趋势...
  8. C# 运行控制台程序中文乱码
  9. 解决pytorch二分类任务交叉熵损失函数CrossEntropyLoss报错:IndexError: Target 1 is out of bounds.
  10. 牛客网算法题目-最优乘车题解
  11. unity3D【全版本】设置中文
  12. Windows系统下长ping记录日志小工具
  13. vim打开bin文件
  14. 本地化差分隐私(Local Differential Privacy)浅析
  15. 【附源码】计算机毕业设计java信用卡增值业务系统设计与实现
  16. 西普实验吧CTF-Hashkill
  17. 广州大学计算机学院谢冬青杀人案,广州大学6.29故意杀人案细节披露:谢冬青因怀疑被举报而杀人...
  18. python re findall 再次应用
  19. 常用滤波器设计之低通滤波器、高通滤波器、带通滤波器、带阻滤波器
  20. think php 广告位,海报广告位管理 - 简单好用的海报和广告管理工具 – 基于ThinkPHP和Bootstrap的极速后台开发框架...

热门文章

  1. 网站上传到服务器mysql数据库,网站上传到服务器mysql数据库吗
  2. python有序字典_python 学习 有序字典
  3. SAP RETAIL MM41 创建商品主数据时候不能使用制造业系统里配置的物料组
  4. TensorFlow产品总监:机器学习进步让AI应用成可能
  5. 9步教你用NumPy从头开始构建神经网络!
  6. 深度学习NN、CNN、RNN、和DNN你了解吗?
  7. 言论丨十问陆奇:百度如何才能赢得AI的未来?
  8. visual studio code(vs code)如何更换颜色背景
  9. 开始即结束,Meta元宇宙OS要黄?
  10. 信息大脑如何从物理大脑中涌现?