/*
我们曾经说过:定义名字要做到见名知意。 this:是当前类的对象引用。简单的记,它就代表当前类的一个对象。 注意:谁调用这个方法,在该方法内部的this就代表谁。 this的场景:
解决局部变量隐藏成员变量
*/
//定义学生类
class Student {
//姓名
private String name;
//年龄
private int age; //姓名获取值
public String getName() {
return name;
} //姓名设置值
public void setName(String name) { //String name = "林青霞";
//name = name; //zhou:想把林青霞赋值给外面的name,但是变量的使用规则是就近的原则,所以林青霞还是去找最近的参数String name,
//把自己赋给了自己,和外面的private String name没有关系,这叫局部变量隐藏成员变量
//如果可以的话通过Student.name = name就可以,要用静态修饰(private static String name) //刘意:变量的使用规则:就近原则
//这里是类名,目前还没有说过类似的用法,所以这个是有问题的
//这里的调用只能通过对象名
//这个对象如果存在,它应该代表的是Student的一个对象。
//那么,谁能够代表当前类的对象呢? java就提供了一个关键字 this
//Student.name = name; this.name = name;
} //年龄获取值
public int getAge() {
return age;
} //年龄赋值
public void setAge(int age) {
this.age = age;
}
} //测试类
class StudentTest {
public static void main(String[] args) {
//创建学生对象
Student s = new Student(); //给成员变量赋值
s.setName("林青霞");
s.setAge(27);
//获取数据
System.out.println(s.getName()+"---"+s.getAge());
}
}

若把成员变量定义成静态(把main方法放在主类中方便在Eclipse使用Run As——>Java Application):

 package cn.itcast;

 public class Student {
//姓名
private static String name;
//年龄
private int age; public static String getName() {
return name;
} public static void setName(String name) {
Student.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public static void main(String[] args) {
// 创建学生对象
Student s = new Student(); // 给成员变量赋值
s.setName("林青霞");
// 推荐用类名调用
Student.setName("林青霞");
s.setAge(27);
// 获取数据
System.out.println(s.getName() + "---" + s.getAge());
System.out.println(Student.getName() + "---" + s.getAge());
} } // 测试类
class StudentTest { }

测试也是OK的:

最新文章

  1. 详解三种缓存过期策略LFU,FIFO,LRU(附带实现代码)
  2. ADB
  3. css3 transition动画
  4. 第二章 git 工作区与reset,revert
  5. 立方体旋转 【web前端学习部落22群120342833】
  6. hdu 5358 First One
  7. CSU 1081 集训队分组
  8. zw版【转发·台湾nvp系列Delphi例程】HALCON GenGridRegion
  9. 未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
  10. 2016年CCF第七次测试 俄罗斯方块
  11. 百度统计js被劫持用来DDOS Github的JS注释
  12. iOS - NSLog的使用方法
  13. Django---->视图(View)
  14. 一个Ajax读数据并使用IScroll显示辅助类
  15. hadoop多文件输出MultipleOutputFormat和MultipleOutputs
  16. K3WISE常用表
  17. [PHP] PHP在CLI环境下的错误日志
  18. Centos 7安装RabbitMQ 3.7.8版本(单机版)-不使用RPM
  19. python什么时候加self,什么时候不加self
  20. 九度OJ1108-堆栈的使用

热门文章

  1. pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))
  2. Fiddler抓包原理和使用详解
  3. PHP AJAX返回 "TEXT"
  4. vue echarts圆角阴影效果
  5. linux 文件锁flock,lockf,fcntl
  6. 六十:Flask.Cookie之flask设置cookie的有效域名
  7. Selenium下Chrome配置
  8. python在shell中环境变量使用
  9. rpm操作
  10. finereport 通过条件弹出 alert进行提示