zoukankan      html  css  js  c++  java
  • 第7章 方法

    1、类的方法

    • 语法:

    修饰限制符 返回值数据类型 方法名(){方法体;}

    如:public void show(){}

    • 一个类里可以具有多个成员变量(属性),也可以有多个成员方法(方法)。

    2、方法的返回值(两种情况

    • 如果方法具有返回值,方法中必须用关键字return返回该值,返回类型为该返回值的类型。(return只能返回一个表达式)

    语法:return 表达式;   作用:跳出方法,返回结果

    • 如果方法没有返回值,返回类型为void。

    3、方法调用

    • 方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果。
    • 方法调用:执行方法中包含的语句。
    • 语法: 对象名.方法名();
    • 注:同一个类中的方法可以直接使用方法名进行调用;不同类的方法,首先要创建对象,然后使用“对象名.方法名”来调用。
    • 方法之间允许相互调用,不允许嵌套。

    4、变量的作用域

    • 变量按照作用域的不同分为全局变量(成员变量)和局部变量。
    • 变量声明的位置决定变量作用域
    • 变量作用域确定可在程序中按变量名访问该变量的区域

    5、成员变量和局部变量的区别

    区别|变量

    成员变量

    局部变量

    作用域不同

    成员变量的作用域在整个类内部都是可见的。

    局部变量的作用域仅限于定义它的方法。

    初始值不同

    Java会给成员变量一个初始值

    Java不会给局部变量赋予初始值

    注:在同一方法中,不允许有同名局部变量;在不同方法中,可有同名局部变量。两类变量同名时,局部变量具有更高的优先级。

    6、JavaDoc注释(文档注释)

    • 使用/**”开始和“*/”结束,用来注释类、属性和方法等
    • @author 用来注释作者
    • @return 用来注释返回值  

    7、带基本参数的方法

    (1)定义带参数的方法 

    语法: 

    <访问修饰符> 返回类型 <方法名>(<参数列表>){ 

      //方法主体; 

    } 

    例如:参数列表:(数据类型  参数1,数据类型  参数2)

      

     注: 

    访问修饰符(该方法允许被访问调用的权限范围)public公共的、private私有的、protected被保护的。 

    返回值数据类型,如果没有返回值就用void,使用return关键字进行返回。 

    l 方法名应该是合法标识符。 

    l 参数列表:可以有多个参数,每个参数要求具有一个数据类型和一个参数名。 

    (2)调用带参数的方法 

    语法:对象名.方法名(实参1, 实参2,……,实参n 

    例如:调用方法,传递的参数要与参数列表一一对应 

     

     注:调用带参方法

     l 先实例化对象,再调用方法。 

    l 实参的数据类型、数量、顺序要和形参一一对应。 

    (3)在定义方法和调用方法时,我们把参数分别称为形式参数和实际参数,简称形参和实参。 

    l 形参是在定义方法的时候对参数的称呼,目的是用来定义方法需要传入的参数个数和类型。 

    l 实参是在调用方法时传递给方法处理的实际的值。 

    形参(占位置)【定义方法】    实参(实际值)【调用方法】 

    复习1、基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?  

    Answer:基本数据类型按值传递(传递的是值),相当于复制了一份过去,引用数据类型按地址传递,两个地方根据地址使用同一份数据,如被更改,则原有数据也会更改,例如数组,在传递数组时,如果接收到数组之后,对其修改,那么原来的数组也会同时修改,因为它们指向同一个地址!

    8、带复杂参数的方法

    (1)数组作为方法返回值

    //字符串数组作为返回值

    public String[ ] getNames(){

      Arrays.sort(names);

      return names;

    }

    注:返回值数据类型具有代表数组的[]return返回的只是数组名。

    String namesbysort =new String[30];

    namesbysort =st.getNames();

    注:调用赋值时,也只有数组名。

    (2)对象作为方法的参数

    //定义一个方法时,对象作参数,【类名 对象名】

    public float getAvg(Students stu){}

    //调用时,使用对象.方法(实参)

    sc.getAvg(student);

    注:使用对象作为参数,定义方法时参数列表里是【类名 对象名】,调用方法时无区别。使用对象作为参数的好处是更好的进行封装,使得数据的整体操作更方便。

    (3)对象数组类型的参数

    //定义一个方法时,对象数组作参数,【类名[] 对象名】

    public float getAvg(Students[] stu){}

    //调用时,使用对象.方法(实参);首先创建对象数组,然后对对象数组中的所有元素进行实例化

    Students[ ] stu = new Students[5];

    //创建对象数组

    for(int i=0;i<5;i++){

      stu[i]=new Students[];//实例化所有对象

      …

    注:使用对象数组作为参数,只是将对象作为数组的一个元素,其引用方法与数组相同,但是每一个元素都要进行实例化,每一个元素都是对象,具有属性和方法。

    注:调用带参方法

    先实例化对象,再调用方法。

    实参的数据类型、数量、顺序要和形参一一对应。

  • 相关阅读:
    MyBatis-Generator 最佳实践
    Http请求工具
    多线程编程-之并发编程:阻塞队列
    如数据不存在就插入,存在就更新
    MySQL触发器
    13.multi_match实现dis_max+tie_breaker
    12. tie_breaker的使用原因和使用方法
    11.best fields策略(dis_max参数设置)
    10.多shard场景下relevence score可能不准确
    9.boost权重控制
  • 原文地址:https://www.cnblogs.com/suola/p/11970687.html
Copyright © 2011-2022 走看看