一、类与对象
生活中我们常说的对象指的是某一具体事物,如你我可以是对象,戴着的戒指,别着的发卡等等都可以称为对象。由此可知对象是一个非常具体的概念。
类是具有相同属性或行为的一类对象的抽象概念,它事实上并不存在。你我可以抽象为一个类:人。戴着的戒指,别着的发卡可以抽象为另一个类:装饰品。在java中,类包括属性和方法。属性可以看做是事物本身的一类特点,如人的身高、体重等,是不用可以去表现的。方法可以看做是行为,如人的学习行为,睡觉行为等,类似于c++类中的函数。
二、面向过程与面向对象
面向过程:通过面向过程的方式解决问题时我们强调按照一个一个的步骤来解决。强调步骤。
面向对象:通过面向对象的方式解决问题时我们看重的是问题中的对象在解决问题时所起到的作用或者是对象有哪些行为。强调对象。
举个例子,设计一个聊天室。
使用面向对象的话:着眼于对客户端与服务器端的设计,在对应的类中对它们窗口设计,发送数据和接收数据等行为进行描述。
使用面向过程的话:着眼于对聊天室设计过程的建立。启动,界面绘制,发送数据,接收数据,传送数据等步骤进行。
三、定义类与对象
下面是一个Student类:
//学生
public class Student {
//姓名属性
public String name;
//学分属性
public int score;
//学习方法
public void study() {
System.out.println("我正在学习!");
}
//休息方法
public void rest(){
System.out.println("学习累了,我需要休息一下!");
}
}
上述学生类,我们用了姓名和学分去描述一个学生具有的属性,用学习和休息描述了一个学生具有的方法。
我们给出类的定义方式:
class 类名{......} //省略号是属性和方法
我们再来定义学生对象:
public static void main(String[] args) {
Student Bob = new Student();
Bob.name = "鲍勃";
Bob.score = 100;
Bob.study();
Bob.rest();
}
上述我们定义了一个学生类对象Bob,给他的属性赋了值,调用了学习和休息方法。
下面给出对象的定义方式:
类名 对象名 = new 类名 ( 参数名 ........)
该处的参数名涉及到构造方法,暂时不做介绍。