首先C语言是面向过程的语言,Java是面向对象的语言。
区别:它俩在思维方式上有区别,说深点是在复用的层次上。面向过程简单理解是在方法的这一层上复用,而面向对象是隐藏了方法和你这个类的细节,直接在整个对象层次上的复用。
面向对象的好处:可提高程序的可重用性、可扩展性、可维护性等
一、类和对象
1、类
(1)定义:描述同一类形对象的一个抽象的概念,是用来创建同一类型的对象的模板,类中定义了这一类对象所具有的属性和行为
2、对象
(1)定义:可以看成一类的一个具体实例,具有该类的某些具体特征
(2)对象具有静态属性和动态属性,反应到Java的类上就是成员变量(属性)和方法
(3)对象是Java程序的核心,在Java程序中“万事万物皆对象”。
3、类(对象)之间的关系
有关联关系,继承关系(一般和特殊),聚合关系(整体和部分),实现关系,多态
二、Java类的定义
用class关键字定义一个类,类中定义主要有成员变量和方法组成。
1、声明成员变量:[<modifiers>] type <attr_name>[=defaultValue];
例:private int id;private int age = 20;
2、声明方法::[<modifiers>] <modifiers> <return_type> <name> ([argu_list]){
[<statements>]
}
例:public int getAge () { return age;}
3、成员变量
(1)可以是Java语言中任何一种数据类型(包括基本数据类型和引用类型)
(2)可以不对其初始化,Java使用默认的值对其初始化。 如:int默认取值为0
(3)成员变量的作用范围为整个类体
4、引用
1、Java语言中出基本类型之外的变量类型都称之为引用类型
它不同于基本类型的地方是内存分配了两块空间。
例:
三、对象的创建和使用
1、创建:必须使用new关键字创建对象
2、引用
(1)引用对象的成员变量:对象(引用).成员变量
(2)调用对象的方法:对象(引用).方法(参数列表)
3、注意
(1)同一类的每个对象有不同的成员变量存储空间
(2)同一类的每个对象共享该类的方法