前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaNote[006] - 语句块、方法

JavaNote[006] - 语句块、方法

作者头像
Sam Gor
发布2020-06-10 09:38:14
3250
发布2020-06-10 09:38:14
举报
文章被收录于专栏:SAMshareSAMshare

1 语句块

语句块是用花括号括起来的任意数量的 简单Java语句,块确定了局部变量的作用域,块可以被嵌套到另一个块里,但是不能在两个互相嵌套的块内声明同名变量,当然语句块可以使用外部变量,但反过来外部不能使用语句块定义的变量,因为语句块内部声明的变量只作用于语句块本身。

2 方法

方法就是一段用来完成特定功能的代码片段,是类和对象行为特征的抽象,很像Python里的函数,其声明格式为:

代码语言:javascript
复制
[修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表){
  Java语句:......
}

简单解释一下:

  • 形式参数:简称“形参”,在方法声明时用于接收外界传入的数据。
  • 实参:调用方法适合实际传给方法的数据。
  • 返回值:方法在执行结果后返回给调用它的环节的数据。
  • 返回值类型:事先约定的返回值的数据类型,如没有返回值,必须显示指定为void
代码语言:javascript
复制
/**
 * 测试方法的使用
 */
public class TestMethod {
    public static void main(String[] args) {
        //通过对象调用普通方法
        TestMethod tm = new TestMethod();
        tm.printSxt();
        tm.add(1,2,3);

    }
    // 无返回值,所以要指定为 void
    void printSxt() {
        System.out.print("SAMshare ");
        System.out.println("is Good!");
    }
    // 弄一个需要入参的方法
    void add(int a,int b,int c){
        int sum=a+b+c;
        System.out.println(sum);
    }
}
方法的重载

这个概念指的是同一个命名的方法,但是内容却完全不同的情况。

这个比较有趣,可以看看栗子:(构成重载的栗子)

代码语言:javascript
复制
package com.sam.demo.unit02;

/**
 * 方法的重载
 */
public class TestOverload {
    public static void main(String[] args) {
        System.out.println(add(3,5));
        System.out.println(add(3,5,10));
        System.out.println(add(3.0,5));
        System.out.println(add(3,5.0));
    }
    /* 求和的方法定义 */
    public static int add(int n1, int n2){
        int sum = n1+n2;
        return sum;
    }
    // 方法名相同,参数个数不同,构成重载
    public static int add(int n1, int n2, int n3){
        int sum = n1+n2+n3;
        return sum;
    }
    // 方法名相同,参数类型不同,构成重载
    public static double add(double n1, int n2){
        double sum = n1+n2;
        return sum;
    }
    // 方法名相同,参数顺序不同,构成重载
    public static double add(int n1, double n2){
        double sum = n1+n2;
        return sum;
    }
    // 编译错误:只有返回值不同,不构成方法的重载
    public static double add(int n1, int n2){
        double sum = n1+n2;
        return sum;
    }
    // 编译错误:只有参数名称不同,也不构成方法的重载
    public static double add(int n2, int n1){
        double sum = n1+n2;
        return sum;
    }
}

总结来说,可构成方法重载的情况简单分为:

  • 方法名相同,参数个数不同,构成重载
  • 方法名相同,参数类型不同,构成重载
  • 方法名相同,参数顺序不同,构成重载

而不构成方法重载的也分为:

  • 只有返回值不同,不构成方法的重载
  • 只有参数名称不同,也不构成方法的重载
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAMshare 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 语句块
  • 2 方法
    • 方法的重载
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档