栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础

在学生类里面定义了两个成员变量, 一个age , 一个name , 并且用private 进行修饰.

然后针对age 和 name 这两个成员变量对应的给出了get 和set 方法.

最后使用了一个show 方法, show 方法用于在控制台输出成员变量的值.

String n  中的n 是用来赋值给String name 中的name, 也就是String n 中的n 应该代表的是姓名name 的意思, 但是实际上它代表不了姓名.

所以在这里这个名字起的不好, 所以把它注释掉.起名字应该要见名知义.所以重新起个名字.

名字起好之后, 要把第14行中的name 赋值给 第7行的name .

 这样就改好了.

 然后回到学生测试类里面, 右键运行.

控制台的值是null, 说明没有赋值成功.

 原因是第7行的name 是一个成员变量.

而第14行的name 是一个局部变量.

在方法中直接写name , 看到的只能是局部变量中的name , 也就是第15行的name 其实参照的都是第14行String name 中的name.所以想把局部变量赋值给成员变量没有成功.

 现在使用this 关键字来修改代码之后, 控制台成功输出了, 说明赋值成功了.

 原因是用this 来修饰name, 指代的就是成员变量name .

右边的name 没有用this 来修饰, 所以右边的name 是局部变量.

 age 同理, 也改一下.

学生测试类(用于访问学生测试类):

在学生测试类的main 方法中, 首先创建了一个对象, 然后使用使用set 方法给成员变量赋值,最后调用show 方法调用成员变量的值.

总结:

形参与成员变量不同名的情况:

 如果括号里是(String n), 内部代码是name = name.那么右边的name 就是成员变量, 不用写this 关键字.

getName 方法也是, 没有形参名字, 也就相当于方法的形参不与成员变量同名, 所以没有this 关键字来修饰, return name 中的name 也指的是成员变量.

使用this 的情况:当局部变量和成员变量同名的时候, 怕局部变量把成员变量的名字给隐藏了, 所以加上this 来修饰.

setName 方法被s1 调用, this 代表的就是s1. 

 setName 方法被s2 调用, this 代表的就是s2. 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号