package com.inmind.object01; /* 总结: 1.在java中描述一类事物,是要有特征(成员变量)和行为(功能方法,不要用static来修饰)来组成 2.在类中并不是都必须要主方法的,如果一个类要运行,并得到一些结果,那么就必须要主方法 在java中一个类只是用来描述一类事物的时候,那么就不要主方法。 */ public class Student { //特征 //姓名 private String name; //年龄 private int age = 18; //学号 private int id; //性别 private String gender; //成绩 private double score; //使用get/setXXX方法来对private修饰的成员变量,进行取值和赋值 public String getName(){ return name; } //定义变量,要见其名,知其意 public void setName(String name){ /* 当前代码想要的效果:成员变量 = 局部变量 但当前的效果:局部变量 = 局部变量 如何解决当前重名的问题??? 使用this:this.成员变量名,一定表示当前对象的成员变量 this:表示一个对象,哪个对象调用了当前的方法,那么这个this就表示该对象 */ //name = name;局部变量name赋值给了局部变量name,就近原则 System.out.println("this的内容:"+this); //注意:类中的所有的成员,前面都应该加上this.,如果没加,编译器会帮我们自动加上 this.name = name;//name属性 = name局部变量 } public int getAge(){ return age; } public void setAge(int age){ if (age < 0||age >100) { System.out.println("您传递的年龄有误,只能是0~100的值"); //不对当前的属性进行赋值(让方法提前结束) return;//结束方法,如果有返回值,就会把值返回 } this.age = age;//对属性进行赋值 } //行为(在描述一类事物时,设置的方法就不要加static) //吃饭 public void eat(String food) { System.out.println(this.name+"学生在吃饭,吃"+food); } //睡觉 public void sleep() { System.out.println(this.name+"学生在睡觉"); } //学习 public void study(String book) { System.out.println(this.name+"学生在学习,学"+book); } public void show() { System.out.println("我叫"+name+",今年"+age+"岁"); } }