80 lines
2.4 KiB
Java
80 lines
2.4 KiB
Java
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+"岁");
|
||
}
|
||
}
|