【Java 教程(原创)】017.类(中)
本帖最后由 零度非安全 于 2017-1-25 18:51 编辑点击图片穿越到 索引帖,听说有惊喜!
☟
在上一讲中非安全哥哥给你们简单介绍了 Java 类中的对象
接下来给大家讲下类的方法
☠
方法
我们再来回顾下一个类的类体的组成部分,你还记得吗?
即变量的声明和方法的定义
若不清楚的鱼油请返回上一讲再看看
☠
那我们先来看下方法大概是长什么样子的,其实全是一个“屌丝样”。
方法声明部分{
方法体中的内容
}
没错,这就是方法的定义,它跟类一样也是包括了两个部分,一个是方法声明,另一个是方法体。
那好,我就为大家分别讲下这两个部分。
----------- 华丽的分割线 -----------
☠
方法声明
❁
最基本的方法声明包括方法名和方法的返回类型,例如下面这位哥们长这样。
float area(){
.
.
.
}
方法返回的数据类型可以是任意的 Java 数据类型,当一个方法不需要返回数据时,返回类型必须是 void。
很多方法声明中都给出了方法的参数,参数是用逗号隔开的一些变量声明。方法的参数可以是任意的 Java 数据类型。
方法的名字必须符合标识符的规定,给方法起名字的习惯和给变量起名字的习惯类似,在这里就不重复啰嗦了,举个栗子。
float getTrangleArea()
void setCircleRadius(double radius)
下面的 Triangle 类中有 5 个方法。
class Triangle{
double sideA,sideB,sideC;
void setSide(double a,double b,double c){
sideA = a;
sideB = b;
sideC = c;
}
double getSideA(){
return sideA;
}
double getSideB(){
return sideB;
}
double getSideC(){
return sideC;
}
boolean isOrNotTrangle(){
if(sideA + sideB > sideC && sideA + sideC > sideB && sideB + sideC > sideA){
return true;
}
else{
return false;
}
}
}
方法体
方法声明之后的一对大括号“ { ”,“ } ”以及之间的内容称为方法的方法体。方法体内容包括局部变量的声明和 Java 语句,例如:
int getSum(int n){
int sum = 0; //声明局部变量
for(int i = 1;i <= n;i++){ //for循环语句
sum = sum + i;
}
return sum; //return语句
}
方法参数和方法内声明的变量称为局部变量,和类的成员变量不同的是,局部变量和声明的位置有关。
写一个方法和在 C 语言中写一个函数完全类似,只不过在面向对象语言中称为方法,因此如果鱼油有比较好的 C 语言基
础,编写方法的方法体已不在是难点。
重载
Java 中存在两种多态,即重载(Overload)和重写(Override),重写是和继承有关的多态,这个会在以后讲到。
方法重载是多态性的一种,例如,一位鱼油跑过来问非安全哥哥:“哥哥,帮我写一个求面积的方法{:10_254:} ”,那我可能会
问你求什么面积呀?
功能多态性:是指可以向功能传递不同的消息,以便让对象根据相应的消息来产生相应的行为。对象的功能通过类
中的方法来体现,那么功能的多态性就是方法的重载。
方法重载的意思是,一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,
或者是参数的类型不同。在下面的 Area 类中,getArea 方法是一个重载方法。
class Area{
float getArea(float r){
return 3.14f * r * r;
}
double getArea(float x,int y){
return x * y;
}
float getArea(int x,float y){
return x * y;
}
double getArea(float x,float y,float z){
return (x * x + y * y + z * z) * 2.0;
}
}
【特别注意】贴子中的栗子希望鱼油们能自觉的手动敲上去,不要单纯的复制粘贴保存,然后编译运行。
❁
☞点我前往上一讲☜
☞点我前往下一讲☜
❁ 虽然看不懂 但是为了金币 拼了 851364759 发表于 2017-1-24 21:51
虽然看不懂 但是为了金币 拼了
下次不能再这样了 重载和重写总是分不清,重载相同功能的多态性,理解了 基础学过一些,看看举得例子,回顾回顾 pyt1 发表于 2017-2-23 23:13
重载和重写总是分不清,重载相同功能的多态性,理解了
nice哟!!! 鱼尾 发表于 2017-2-24 15:44
基础学过一些,看看举得例子,回顾回顾
我喜欢爱学习的好孩纸!!! 继续学习 851364759 发表于 2017-1-24 21:51
虽然看不懂 但是为了金币 拼了
可以可以 讲的很好
页:
[1]