Javaoop-12

1.类的无参方法

方法的组成部分: 访问修饰符(可以不用写)   返回值类型   方法名(参数){
                                           方法体 //return也属于方法体的一部分
                                }

                                      public String show(){
                                              return "XXXX"; 
                              }

return:(作用:跳出方法、返回结果,用来结束整个方法,原则上放在方法的最后一行,但加上选择结构时,有特殊用法)

 public String robBall(){
        String ball = "球";
        if(ball == null){
            return "面包";
        }
        return ball; // ?去掉试试
    }
        解释:假设去掉最后一行的return ball,那么当ball==null时,这个方法的确有return语句了,
    但是如果ball不等于null时,这个方法就没有了return语句,这在有返回值的方法中是错误的。

方法的返回值:两种情况:①如果方法没有返回值,返回值类型为void

                                           ②如果方法具有返回值,方法中必须使用关键字return返回该值,返回                                                 值类型为该返回值的类型。

如何判断是否使用返回值: 任何一个方法都可以定义成为一个有返回值的方法,但是调用者不需                                                   要返回值的时候,就不必定义成有返回值的方法,
  也就是说,调用者不需要返回数据的时候,只需要定义成无返回值的方法即可。
    当调用者或者设计者需要这个方法返回数据的时候,一定不能将该方法定义成无返回值方法
    简单来说就看需不需要这个方法返回数据,需要则定义有返回值方法,不需要则定义无返回值方法。
    还有一种情况:(重点!!!!!!!!)
        方法中的数据如果全部都在方法内部使用,而不需要再调用者方使用,则需要定义成无返回值的方法;
        方法中的数据如果有需要在调用者方使用,则必须定义成有返回值的方法;

方法的调用: 如果方法是无返回值,则调用者在调用的时候,不能使用变量来接收!
    class A{
        public void show(){}
    }
    class B{
        A a = new A();
        a.show(); (不用变量接收
    }
    如果方法是有返回值,则调用者在调用的时候,通常是必须要使用一个变量来接收这个方法的调用,
  接收的变量类型必须与方法的返回值兼容/相同
        class A{
            public int show(){}
        }
        class B{
            A a = new A();
            int num1 = a.show(); (用变量来接收
            //long num2 = a.show();
            //double num3 = a.show();
        }
     同一个类中,方法的调用不需要创建对象,直接写方法名即可
     class A{
        public int getSum(){
            return 结果;
        }
        public double getAvg(){
            return getSum() * 1.0 / 3;
        }
     }
     不同类中,需要先创建对象,然后使用对象名.方法名();

成员变量和局部变量:

  成员变量:定义在类的内部,属于类的属性
  局部变量:定义在方法中、选择结果中、循环结构中、代码块中等

  成员变量:Java会给成员变量提供初始值。
  局部变量:Java不会给局部变量提供初始值,需要开发者手动赋予局部变量初始值,否则在使用                     时,会报错。

    同一个方法中不能存在同名的变量,但是不同的方法可以存在同名的变量。

    在同一个类中,局部变量可以与成员变量同名,当同名时,局部变量具有更高的优先级。
    也就是说,使用相同的变量名,局部作用域使用的是局部变量。
    若局部作用域想使用成员变量,需要使用this.变量名。

    在同一个局部作用域中,更内部的作用域不能再定义一个与外部作用域同名的变量

    总结:
        凡是带有大括号的都是作用域
        并且内部括号的作用域小于外部括号的作用域,
        因此内部作用域可以使用外部作用域的变量,但是外部作用域的变量不能使用内部作用域定义的变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值