第五课:Java方法

第五课:Java方法

一、方法的定义及格式

1、定义

完成特定功能的代码块

(类似于c/c++的函数的定义 在java中我们称之为方法)

2、方法的格式

修饰符 返回值类型 方法名(参数类型 参数1, 参数类型 参数2...)
{
    函数体;
    return 返回值;
}

//eg.
public static int getSum(int a, int b)
{
    int c+a+b;
    return  c;
}
(1)方法的修饰符
①abstract方法(抽象方法)
  • 带有abstract修饰的方法称为抽象方法
  • 抽象方法没有方法体
  • 抽象方法只能出现在抽象类中
②static方法(类方法或静态方法)
  • 带有static修饰符的方法称为类方法

    • 类方法是属于整个类的,它被该类的所有对象共享
  • 不加static修饰的方法称为实例方法

    • 实例方法是属于某个对象的方法,即每个对象的实例方法都有自己专用的内存空间
  • 类方法与实例方法的使用注意事项

    • 实例变量的访问

      • private int x; //x为实例变量 private static int x;//x为类变量

      • 类方法只能访问类变量,不能访问实例变量

      • 实例方法既可以访问类变量也可以访问实例变量

    • 实例方法的调用

      • 实例方法只能通过类名被调用,不能直接被调用
      • 类方法既可以通过类名被调用,也可以直接被调用
      package lesson05Method.Static;
      
      //探究是否可以直接调用实例方法
      //答案:不能 只有先建立对象,再利用对象调用实例方法
      // 而类方法既可以直接调用也可以先建立对象再用对象调用
      public class DirectReference
      {
          //声明实例方法(不带static)
          public void WithoutStatic()
          {
              System.out.println("成功调用不带static的成员方法,即实例方法");
      
          }
          //声明类方法(带static)
          public static void WithStatic()
          {
              System.out.println("成功调用带static的成员方法,即类方法");
          }
          public static void main(String[] args)
          {
              test t = new test();
              t.WithStatic();//用对象调用带static的成员方法
              t.WithoutStatic();//用对象调用不带static的成员方法
      
              test.WithStatic();//直接调用带static的成员方法
              //test.WithoutStatic();//直接调用不带static的成员方法
              //会报错:Error:(26, 13) java: 无法从静态上下文中引用非静态 方法 WithoutStatic()
          }
      }
      
③final方法(最终方法)

带有final修饰的方法称为最终方法。在面向对象程序设计中,子类可以覆盖父类的方法。但是,如果父类的某个方法被final修饰,则其子类就不能覆盖这个方法,只能继承这个方法。因此,这样可以防止子类对父类的关键方法进行修改,保证了程序的安全性。

④native方法(本地方法)

用其他语言编写的方法在Java程序中称为本地(native)方法。由于native方法的方法体是使用其他语言在程序外部编写的,所以native方法没有方法体。

⑤synchronized方法(同步方法)

同步方法用于多线程编程。多线程在运行时,可能会同时存取一个数据。为了避免数据的不一致性,可以将方法声明为同步方法,进而对数据加锁,以保证线程的安全。

⑥throws异常类型列表

程序在运行时可能会发生异常现象。每一个异常都对应着一个异常类。如果希望方法忽略某种异常,可将其抛出,让它的“上级”(如调用它的对象等)来处理,从而使程序得以继续运行。

(2)返回值类型

​ 就是该方法所得结果的数据类型

(3)参数

​ 实际参数:实际参与运算的参数

​ 形式参数:方法定义上的,用于接收实际参数的

二、方法的注意事项

1、方法与方法之间是平级关系,不能嵌套定义

  • 方法中不能定义方法,但是方法中可以调用方法

2、方法不调用就不执行

三、方法重载

1、定义:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可

2、方法重载的特点:①方法重载与返回值类型无关,只看方法名和参数列表②在调用时,虚拟机通过参数列表的不同来区分同名方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值