第六谈:方法续集

一、格式:

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

修饰符:目前来说,修饰符固定写法 public static
返回值类型:用来限定方法的返回值类型,与return具体返回的值有关
方法名:随便起,要符合标识符命名规则
参数:
    两种参数:形参(方法定义时的名字参数),实参(将来调用方法时实际传入的值)
    参数类型:基本数据类型或者引用数据类型
    参数名:随便起,要符合标识符命名规则
方法体:描述方法要干什么
return:表示结束整个方法,将结果返回给调用者,必须写在方法的最后一行
返回值:方法最终给调用者的结果,类型要与返回值类型有关联 

注意事项:
 1、方法不能嵌套定义!!方法和方法是平级关系
 2、方法不调用,不执行
 3、如果一个方法有返回值,将来调用的时候,有两种处理方式:
     1)使用一个变量接收方法的返回值  推荐
     2)直接使用方法的结果
 4、方法定义的时候,如果明确了有返回值类型,方法定义内部必要有一个return返回值 

 二、例子:

1.定义一个求两个int类型数之和的方法

//方法一:
public class ceshi {
    public static int sum(int a,int b){
        int res=a+b;
        return res;
    }
    public static void main(String[] args){
        int a1,b1;
        int c=sum(4,5);
        System.out.println(c);

    }
}
//方法二:
public class ceshi {
    public static int sum(int a,int b){
        int res=a+b;
        return res;
    }
    public static void main(String[] args){
        System.out.println(sum(4,5));
    }
}

2.比较两个数的最大值

public class ceshi {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(bijiao(a,b));
    }
    public static int bijiao(int c, int d) {
        if (c > d) {
            return c;
        } else {
            return d;
        }
    }
}

3.键盘录入行数和列数,输出对应的星形

public class FunctionTest2 {

    public static void printStars(int row, int col) {
        for (int i = 1; i <= row; i++) {
            for (int j = 1; j <= col; j++) {
                System.out.print("*\t");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入行数:");
        int row = sc.nextInt();
        System.out.println("请输入列数:");
        int col = sc.nextInt();

        printStars(row,col);
    }
}

三、方法重载 

定义:

在同一个类中,方法名相同,方法参数列表(参数的个数,参数类型)不同,与返回值无关的现象。

注意:

1.传参的时候,注意数据类型的大小关系。

2.传递的时候,根据顺序从左向右的传参顺序。

例子:

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

    public static long sum(int x, long y, int z) {
        return x + y + z;
    }

    public static void main(String[] args) {
        //需求1: 求两个数之和
        int a = 3;
        int b = 4;
        System.out.println(sum(a, b));

        //需求2: 求三个数之和
        int c = 5;
        //JVM会根据方法名和参数列表在类中查找对应的方法并调用,若没有,则报错
        System.out.println(sum(a, b, c));

        long b1 = 10L;
        System.out.println(sum(a, b1, c));

    }
}

四、方法重写

定义:重写是发生在继承关系中的,返回值类型,方法名,参数列表都和父类一模一样,只是实现不一样,使用Overload检测方法能否重写。

java中有4个权限修饰符,权限从小到大依次为:public protected 默认 private

注意事项:

1.子类无法重写父类中的私有成员方法。

2.子类重写父类方法的时候,权限修饰符不能比父类中的权限还要小,只能大于等于父类方法的权限。

3.子类可以重写父类中的非私有,非静态的成员方法。

 五、final

如果父类中的方法只想让子类继承使用,并不像让子类重写,java提供了一个关键字给我们使用做限制:final

它可以修饰类,变量,成员方法。

final关键字使用特点:

类:被final修饰的类,类不能被继承。

变量:被final修饰的变量,变量变常量(自定义常量)

方法:被final所修饰的方法,子类只能继承使用,不能进行重写。
  final修饰变量,变量变自定义常量使用的注意事项:
        1、注意辨别被final修饰的变量,具体是什么值不能改
        2、被final修饰的变量,必须要手动赋值之后才能使用,并且只能赋值一次
        3、必须在构造方法结束之前手动赋值(方案1:使用构造代码块进行赋值  方案2:在构造方法内部进行赋值)
  • 13
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值