1.定义方法

  是封装在一起来执行操作语句的集合,用来完成某个功能操作,简单的说就是提取出来的有特定功能的代码(程序)。在某些语言中被称为函数或者过程,比较特殊的方法是main方法(主方法),main方法是程序执行的入口。不可能所有的方法都放到main方法中,需要定义其他方法完成指定的功能,然后在main方法中调用即可(面向对象和面向接口编程)。

  方法在程序内存中位于栈区,main方法是最先入栈的方法,同时也是最后出栈的方法。根据main方法的执行先后顺序,调用的方法执行完后就出栈,然后释放栈内存。

  使用方法的好处是可以提高代码的复用率、简化代码,别的方法需要使用该方法时只需要调用就可以。

public static void main(String[] args) {
//实现功能的语句
}

2.定义方法

  方法的格式:

    修饰符(public static) 方法返回值类型(void,或者int double string等类型) 方法名(见名知意,遵循驼峰命名)(形参列表int a,char b){
    方法体(逻辑代码);
    return + 方法返回值 ;有返回值的情况下return一个值后停止,没有返回值用void修饰方法
    }

    1.形参列表:在方法被调用时用来接收外界数据的数据,并且规定实参的数据类型。

    2.实参:调用方法时,实际传给方法的参数。实参时实际的值,位于方法的内部,形参是接收实参的值,位于声明处。

    3.返回值:方法在执行完毕后,返还调用他的环境的数据。

    4.如何调用方法:在主方法(main方法)中调用。

    5.如果方法只被声明,则方法不被调用。

    6.修饰符:决定了方法的工作范围。

    

public static int getNumber(int a,int b){
int sum = 0;
sum = a + b;
return sum;
}

3.方法重载

  方法重载是让类以统一的方式处理不同类型数据的一种手段,调用方法时通过传递给他们的不同个数和类型的参数来决定调用哪一个方法,这就是方法的多态性。一个类中可以指定相同的方法名,但是参数不用的多个方法。那么调用时就会选择参数不同的方法进行调用。简单的说就是使用同一方法名(可以不同类,但是必须同名)不同的形参列表,完成相同的功能。

  方法重载的条件(两同一不同):同一个类中、同一个方法名;不同的形参列表(数量、顺序、类型)。

  使用方法重载需要注意的事项:

  ①当使用方法重载时只能用过不用的参数列表,必须具有不同的参数列表。

  ②不能通过访问权限、返回类型、抛出的异常进行重载。

  ③方法的异常类型和数目不会对重载造成影响。

  ④可以有不用的返回类型,只要参数列表不同就可以了。

  ⑤可以有不同的访问权限。

  ⑥可以抛出不同的异常。

   public static int getNumber(int a,int b){
int sum = 0;
sum = a + b;
return sum;
}
public static int getNumber(int a,int b,int c){
int sum = 0;
sum = a + b + c;
return sum;
}  
public static double getNumber(double a,double b,double c){
double sum = 0;
sum = a + b + c;
return sum;
}

4.方法重载和方法重写的区别

  在OOP的继承关系中,父类可以产生一个子类,子类继承父类,他继承了父类的所有可见的特征,继承了父类所有的方法和变量(除了父类private修饰的属性和方法)。

  子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,我们常常把这样的一种操作称为方法重写。也称为覆写或者覆盖。在面向接口编程时也用到方法的重写,不同的是继承类的子类中子类可以选择重写或者不重写方法;在接口中则是实现该接口,就必须重写接口中的抽象方法。

  重写体现了Java的优越性,重写是建立在继承关系的基础上,他能使语言结构更加丰富。在继承中,子类可以隐藏和访问父类的方法,也可以覆盖继承父类的方法。如果子类将父类中的方法重写了,调用的时候调用的肯定是调用被重写的方法,如果一定要调用父类中的方法,可以通过使用super关键字来实现这个功能(super无参构造方法)。super关键之可以从子类访问父类中的内同,如果要访问被重写的方法,使用super方法名(参数列表)的形式(super有参构造方法)。

  方法重写时需要遵循:

  ①父类方法的参数列表必须完全与子类重写的方法的参数列表相同,否则不是重写,而是重载。

  ②父类的返回类型必须与子类重写的方法返回类型相同,否则不是重写而是重载。

  ③子类重写的方法不能拥有比父类邓加严格的访问权限,意思就是子类的权限大于等于父类的访问权限。父类中所有private修饰的属性、方法均不能被子类继承并访问,只能父类使用。

  ④在继承过程中,如果父类当中的方法抛出异常,那么子类重写父类的该方法时也要抛出异常。而抛出的异常不能多于父类中抛出的异常,意思就是父类的异常就是子类可以抛出该方法的最大异常,重写方法一定不能抛出新的异常。

  

  

  

JavaSE基础篇—流程控制语句—方法的定义 调用和重载的更多相关文章

  1. JavaSE基础篇—流程控制语句

    本章知识点分析: 流程控制语句 1.定义:流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块.流程控 制方式采用结构化程序设计中规定的三种基本流程机构:顺序结 ...

  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...

  3. 20151013 C# 第一篇 流程控制语句

    20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){  语句块:} if(布尔表达式){  语句块1:}else{  语句块2:} i ...

  4. Java基础学习-流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我 ...

  5. java基础(5):流程控制语句(switch)、数组

    1. 流程控制语句(续) 1.1 选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序 ...

  6. Java基础语法—流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.所以,我们必须清楚每条语句的执行流程.而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能. 3.1 流程控制语句分类 ​ ...

  7. JS基础-语法+流程控制语句+函数+内置对象【数组】

    JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...

  8. java基础3_流程控制语句

    一 条件判断 1. 条件运算符(三元表达式) ,其形式为: type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4; 2. 轻量级的文本编辑器:Ultr ...

  9. 再回首,Java温故知新(九):Java基础之流程控制语句

    流程控制语句分为条件语句.循环语句和中断语句. 中断语句包括break和continue,两者的区别在于break会跳出整个循环,而continue则是跳出此次循环,之后还会继续下一次循环. 条件语句 ...

随机推荐

  1. Linux系统下安装jdbc与tomcat

    一.下载Linux版本的jdbc与tomcat 1.1 下载Linux版本的jdbc: 1.1.1 1.1.2 1.1.3 在进行1.1.3操作之前得先勾选我同意协议 1.1.4 下载完成 1.2下载 ...

  2. 常用SQL语句集合

    一.数据定义 1.创建新数据库:CREATE DATABASE database_name2.创建新表:CREATE TABLE table_name (column_name datatype,co ...

  3. HDU 1248 寒冰王座(完全背包裸题)

    寒冰王座 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  4. hdu_1031_结构体排序

    题目很好理解,将列求和,取前k大的 我的代码思路:对列求和,后取出前k大的id加入结果数组,对比后面和第k大相同的评分id也加入到结果数组,最后对结果数组排序 代码: #include<cstd ...

  5. Linux下gdb的安装及使用入门

    1.安装gdb. 在root用户权限下: root@iZ2zeeailqvwws5dcuivdbZ:~# apt-get update ...... ...... ...... root@iZ2zee ...

  6. 【JAVA】SWING_ 界面风格

    在java中,界面外观的管理是由UIManager类来管理的.不同的系统上安装的外观不一样 ,默认的是java的跨平台外观. 1.获取系统所有外观 import javax.swing.*; impo ...

  7. [国嵌攻略][070-095][Linux编程函数手册]

    第1类 时间编程类 1.1 获取日历时间 1.1.1 函数名 time 1.1.2 函数原形 time_t time(time_t *t) 1.1.3 函数功能 返回日历时间 1.1.4 所属头文件 ...

  8. EC+VO+SCOPE for ES3

    词法环境 词法作用域 词法作用域(lexcical scope).即JavaScript变量的作用域是在定义时决定而不是执行时决定,也就是说词法作用域取决于源码. 词法环境 用于定义特定变量和函数标识 ...

  9. php ueditor 后台配置项返回格式出错,上传功能将不能正常使用!

    解决常见的有两种 1,可能是时区设置问题,有系统区分大小写. date_default_timezone_set("Asia/chongqing");改为 date_default ...

  10. PHP网站常见安全漏洞,及相应防范措施总结

    目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见 ...