类和对象总结

类和对象是面向对象编程的基础核心部分。

首先,JAVA语言是一门面向对象的语言。那么,对象究竟是什么呢? 
对象,是具体的个体,是客观存在,在现实生活中只要是一个具体的物体或者一件具体事情就是一个对象。生活中有那些是对象呢?比如,某一个人可以是一个对象,某一件事也可以是个对象,某一个杯子也可以是个对象。而在JAVA语言中,对象有其自己的特征和行为,称为属性和方法。属性就是对象的描述,大小,颜色,年龄等都可以是对象的属性;而方法则可以说是该对象具有的一些能力,能做这样的事。打个比方,现在有个学生叫小明,他就是我们指的对象,那么他的籍贯,性格,爱好,外形,衣着,年龄,性别,姓名等都是小明的属性,而小明会打乒乓球,打篮球,学习,吃饭,工作,睡觉这些则都是小明的方法。 

说完对象之后,不得不说到JAVA语言里面非常重要的一个概念——类。那么,什么是类呢? 
类,是一个集合,它包含着具有相同特征和行为的对象。打个比方,还是小明是对象,那么学生就可以说是一个类,包含了小明这个对象。 
生活中是怎样对对象进行分类的呢?
根据对象相似的特征和相似的行为(用途,功能)进行归类。
程序中的类是怎样的呢?
程序中的类是根据现实生活中对象(类)的特征,行为(用途,功能),按照类的固定格式做的一种定义,写完后称之为类或者模板。
类的组成
类的格式由两个部分组成:1.属性  2.方法
属性对应的是对象的特征;
方法对应的是对象的行为(用途,功能).
类与对象这两者,在JAVA语言中,都占据着相当重要的位置。两者相互联系,共同来模拟现实世界。 

实例
场景:张三在学习Java课程中,学完该课程后,她的学分增加2分。
对象:
1、张三
特征:姓名,学分
行为:学习(Java课程对象),设置姓名,获取姓名,设置学分,获取学分
2、Java课程
特征:学分,课程名,课时
用途:设置学分,获取学分,设置课程名,获取课程名,设置课时,获取课时

接下来我们再来说一说,在JAVA语言中,类与对象的一些使用方法等。
1、类的基本结构
public class 类名 {
//属性的格式
private 数据类型 属性名;

//方法的格式
public 返回值类型 方法名(数据类型 参数名,...){
//代码
}
}
举例:定义一个学生类,学生类里有年龄和名字这两项属性,还有一个学习的方法。 
public class Student(){ 
//定义属性 
private String name; 
private int age; 
//定义构造方法 
public Student(){ 
//方法的调用 
study(); 

//定义普通方法 
public void study(){ 
System.out.println("学生在学习!!!"); 



2、实例化对象的格式
创建对象的格式:
类名 对象名 = new 类名();
        eg:Student st = new Student(); 

3、普通方法、构造方法及其调用 格式
实例化一个对象或者给某个属性赋初始值时,就要调用类的构造器(又称为构造函数和构造方法);描述对象具有的一般行为,需要调用普通方法。 
构造方法(构造函数,构造器)
构造方法对应的是生活中的什么情况?
生产出一个杯子。
构造方法的用途:
类名  对象名 = new 构造方法(参数值,...);
Student s = new Student();
1.用来创建对象
2.给属性设置初始值
没有在类中定义构造方法时,Java默认会给类提供一个不带任何参数的构造方法。
如果自定义了构造方法,默认的构造方法会被覆盖,无法使用;
只能使用你自定义的构造方法。
两个方法区别如下:
构造方法定义的格式:
public 构造方法名[类名](数据类型 参数名,...){
//代码
}
    普通方法定义的格式:
public 返回值类型 普通方法名[类名](数据类型 参数名,...){
//代码
}
   构造方法调用的格式
方法名 对象名=new 方法名(参数值,...);
         eg:Student st = new Student(); 
   普通方法调用的格式
对象名.方法名(参数值,...);
         eg:st.study();

1、构造方法不需要返回值类型,普通方法一定要; 
2、构造方法名同类名,普通方法名自定义,绝不和类名同; 
3、构造方法有默认的,普通方法必须自行定义; 
4、构造方法用途与普通方法不同,如上介绍; 
5、调用方式不同,如上(注意调用时,不是“对象调用方法”,而是“对象名里存放的地址调用内存中相应的方法”); 
6、构造方法每使用一次,就会构造一个全新的对象,但普通方法不同的对象类调用执行的步骤、过程都不会发生改变。 

猜你喜欢

转载自season-jy.iteye.com/blog/2202525