首先经过C语言的学习,我们已经学会了基本的编程方法,我们知道C语言是面向过程的编程语言,而JAVA是面向对象的编程语言,所以接下来我们通过对比和举例来进行JAVA语言的学习
首先我们来讲类的概念
- 类:类是一个模板,它描述一类对象的行为和状态。
在日常的生活当中,我们把具有相同属性和行为的一类群体称之为类
例如:有一个学生叫小明,他具有年龄,性别,学号,姓名的属性和吃东西的行为,另一名学生叫做小方,他也具有年龄,性别,学号,姓名等属性,吃东西的行为,所以我们可以将这些共有的属性和行为提取出来,形成一个类,例如学生类(class),而小明,小方则是此类当中的一个对象(object)
- 对象:对象是类的一个实例,有状态和行为。例如,一个学生是一个对象,它的状态有:姓名,学号;行为有:吃东西等。
接下里我们通过c语言的自定义函数来横向对比学习JAVA当中的方法
#include <stdio.h>int add(int a,int b){return a+b;
}int main(){int n1=3,n2=2;int n=add(n1,n2);printf("%d",n);return 0;
}
上图是一个c语言当中的经典的自定义函数,我们来看,第三行自定义一个函数add,返回参数a与b的和,在下面主函数当中,把这个add函数调用,实现n1和n2数值的相加。
方法的概念、作用
方法(method),又称函数(function),代表一段“独立的”“可复用”的“功能”代码。
作用:封装了一个功能代码,减少了代码的冗余。
public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}
}
上图是java当中的方法的写法,与c语言也是对应的,我们首先在测试类当中,定义一个add方法,之后再后面的主方法当中调用它,实现两个数的相加
【修饰符】 返回值类型 方法名(【形参列表】){方法体语句
}
方法必须先声明再使用
方法调用一次执行一次,不调用不执行
记住:Java程序的入口是main方法
形参实参
接下来我们来讲的是方法当中的形参和实参,我们看上面add方法后的括号当中,定义了一个整形变量a和b,在接下来一行中,我们把a和b的值相加并由return返回这个值,这个a和b,我们称之为形参,顾名思义是一个形式的参数,它的作用就是使得预先设定好在方法当中,调入的值该如何处理;而在主方法当中,我们调用add方法后面参数的n1和n2则是实参,同样的它们是实际的参数,真正具有值的变量,这条语句的作用就是将实际的值放到我们设定好的方法当中执行。打个比方,客户要求你做一个儿童滑梯(方法)让两个小孩子按照规定路线滑下去,你建好了滑梯,两个小孩子从滑梯上滑下来完成了需求,滑梯就是形参(预先规定好的路线),小孩子就是实参(实际存在的值,需要方法来实现运算)。
public class Demo {public static int add(int a, int b){return a+b;}public static void main(String[] args){int n1=3,n2=2;int n=add(n1,n2);System.out.println(n);}}
在以上Java代码当中 n1,n2在主函数当中,是实参,在方法add当中的a,b是形参。
类的使用
我们将有共同属性的对象抽象为一个学生类,在学生类当中,有学号、姓名等属性,类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型(它属于引用数据类型),它是对所具有相同特征实体的抽象。
类当中有1.属性 (成员变量) ;
2.行为 (成员方法(函数)) ;
在 Java 中定义类,使用关键字 class 完成。语法如下:
权限修饰符 class 类名称 {属性 (成员变量) ;行为 (成员方法(函数)) ;
}
例如:定义一个人类class
public class Person {// 属性 (成员变量) ;// 行为 (成员方法(函数)) ;
}
public 表示“共有”的意思。如果使用 public 修饰,则可以被其他类和程序访问。每个 Java 程序的主类都必须是 public 类。
变量
在 Java 中类的成员变量定义了类的属性。例如,一个人类中一般有体重、性别和年龄等属性,这时就需要定义体重、性别和年龄 3 个属性。
-
局部变量:在类的方法中定义的变量,且只能在该方法中使用,我们之前学习的变量都是局部变量;定义以后必须赋值才能使用;
-
成员变量:也称为实例变量,它的定义在方法的外部,直接写在类当中;随着对象创建而诞生,随着对象被垃圾回收而消失;如果是对某个对象的特殊描述,可以用该变量;定义时如果不赋值的话,会采用默认初始值;
-
静态变量:也称为类变量,实质上是一个全局变量。它的定义在方法的外部,直接写在类当中,与类共存亡,它用 static 修饰,如果某个内容是被所有对象所共享,那么该内容就应该用 static 修饰;定义时如果不赋值的话,会采用默认初始值。
public class Demo {static int a; // 类变量int b; // 实例变量public static void main(String[] args) {int c; // 局部变量} }
成员方法
-
在 Java 中类的成员方法定义了类的行为。例如,一般人会有吃饭、睡觉和玩等行为,在定义人的类时,就需要定义吃饭、睡觉和玩 3 个方法。
-
类的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法参数和方法返回值类型。
成员方法的声明语法:
-
[权限修饰符] 返回值类型 方法名([参数类型 参数名]) {// 方法体// 返回值 }
返回值类型:我们之前学到的八种基本类型和 void 都可以用来做方法的返回值类型。要注意的是 void 表示没有返回值,所以不需要写返回值语句,而其他类型都需要返回一个该类型的值。
返回值语句:
return 返回的值;
-
参数类型 参数名:可以有多个,这些参数都要有自己的数据类型,可以是原始数据类型,也可以是复杂数据类型,一个方法主要依靠参数来传递消息。方法主体是方法中执行功能操作的语句。
现在我们已经学会了如何建立一个类