第二课时 类与对象
纲要:1.掌握什么是类,什么是对象
2.学会类的定义并编写类
3.通过类创建对象
4.对象作为方法参数
应用软件:eclipse
一.生活中的类与对象
1.生活中的类:具有共同特征的事物所形成的种类 。
对象:具体的某一个人或物。
例如:学生是一个类,
具体到某个学校某个年纪某个班某个学号的学生就是一个对象。
2.在生活中是从那几个方面描述一个对象?
2.1特征。
2.2行为(用途、功能)。
例如:学生的专业、年级、姓名等都是用来形容学生的特征。
学习、玩、吃饭等都是用来描述学生状态的行为。
二.程序中的类与对象:面向对象编程就是在程序中模拟现实。
1.程序中的类:按照一个固定的格式进行定义的。
2.类的组成:(1)属性:根据特征进行定义
(2)方法:根据行为进行定义
三.类的定义与编写
1.类的基本结构:
public class 类名{
//属性格式
private 数据类型 属性名;
//方法格式
public 返回值数据类型 方法名([数据类型 参数名,数据类型 参数名,...])
}
2.编写代码示例:
//定义一个student类
public class student {
//学生的名字属性,数据类型为String,属性名为name
private String name;
/**
* 设置学生名字的方法,无返回值,所以返回值类型为void,方法名为setName
* @param n 学生的名字参数
*/
public void setName(String name){
this.name=name;
}
/**
* 获取学生名字的方法,返回学生的名字,所以返回值类型为String,方法名为getName
* @return 学生的名字
*/
public String getName(){
return name;
}
}
四.创建对象
1.类和对象的关系:
类中定义了所有具体对象所共有的属性和方法,类是抽象的,
通过类可以实例化具体的对象,对象就可以调用类中的方法,来改变对象的属性值。
2.实例化对象的方法:通过new关键字
格式:类名 对象名=new 类名();
例:Student stu=new Student(); //表示创建一个学生类的对象stu
3.对象调用方法的格式:
对象名.方法名([参数]);
例:stu.study(); //对象stu调用不带参数的学习方法
4代码示例:
//定义一个student类
public class student {
//学生的名字属性,数据类型为String,属性名为name
private String name;
/**
* 设置学生名字的方法,无返回值,所以返回值类型为void,方法名为setName
* @param n 学生的名字参数
*/
public void setName(String name){
this.name=name;
}
/**
* 获取学生名字的方法,返回学生的名字,所以返回值类型为String,方法名为getName
* @return 学生的名字
*/
public String getName(){
return name;
}
/**
* 程序的主函数入口
*/
public static void main(String [] args){
//实例化一个student类对象s
student s=new student();
//调用设置名字的方法,为对象s设置一个名字
s.setName("大明");
//调用获取对象名字的方法,并赋给n
String n=s.getName();
//将获取到得名字输出
System.out.println("这个学生对象的名字为:"+n);
}
}
五.对象作为方法参数
1.为什么对象可以作为方法参数?
因为我们定义的类是一种数据类型。
2.对象如何作为方法参数传递的?
public 数据类型 方法名(类名 形参对象){
//方法体
}
调用时:
某对象名.方法名(实参对象);
3.对象作为方法参数的作用:
对象作为方法参数后,就可以在方法体中通过参数对象名调用对象的属性和方法。
4.代码示例:
已知一个学生类,一个老师类,在学生类对象作为老师类中的方法参数,如下:
//定义一个student类
public class student {
//学生的名字属性,数据类型为String,属性名为name
private String name;
/**
* 设置学生名字的方法,无返回值,所以返回值类型为void,方法名为setName
* @param n 学生的名字参数
*/
public void setName(String name){
this.name=name;
}
/**
* 获取学生名字的方法,返回学生的名字,所以返回值类型为String,方法名为getName
* @return 学生的名字
*/
public String getName(){
return name;
}
}
//定义一个teacher类
public class teacher {
//教授两名学生的方法
public void teach(student st){
System.out.println("老师给学生上课,这位学生的名字为 "+st.getName());
}
public static void main(String [] args){
//实例化一个学生类对象
student stu=new student();
//设置学生的名字为 你我他
stu.setName("你我他");
//实例化一个老师类对象
teacher t=new teacher();
//对象s调用teach方法,对象stu作为参数传递
t.teach(stu);
}
}