美文网首页java学习记录
java基础---------形参、返回值类型与return关键

java基础---------形参、返回值类型与return关键

作者: 一花一世界yu | 来源:发表于2020-03-25 19:21 被阅读0次

    一、重点知识

    1、父类的私有方法的继承问题,实际上继承了但未调用

    2、如何理解:当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器,...直到调用了java.lang.Object类中空参的构造器为止。
    因为你只有创建子类时候选择构造器,后面的都是默认的,所以最后调用的一定是无参的构造器

    3、super在构造器中最多存在n个最少一个,而this关键字最多存在n-1个,最少零个

    4、父类最好要有一个空参的构造器,因为super的存在,如果无空参构造器,创建子类时会报错,解决方法有两种,一在父类中加一个空参构造器,二,子类定义构造器时候指定调用父类的有参构造器(记得要把你调用的父类的构造器的参数也加进来)

    5、其实父类中的全部变量在子类的内存空间中都有,但是父类的私有方法不能直接调用而已,但是可以通过其他方式调用,也能在构造器中调用,方法也是这么个道理

    6、特殊情况:子类不能重写父类中声明为private权限的方法,如果按照重写的方法,去重写父类的方法,不会报错,但是相当于自己重新创造了一个方法,不能算为重载。

    7、创建一个对象后 当调用其他类的属性在调用时要赋值

    8、打印图形没有规律时,可以把行数扩大两倍再找规律

    9、继承时候也要导入包

    10、在静态方法中,不能直接访问非静态成员(包括方法和变量)。因为,非静态的变量是依赖于对象存在的,对象必须实例化之后,它的变量才会在内存中存在。例如一个类 Student 表示学生,它有一个变量String address。如果这个类没有被实例化,则它的 address 变量也就不存在。而非静态方法需要访问非静态变量,所以对非静态方法的访问也是针对某一个具体的对象的方法进行的。对它的访问一般通过 objectName.methodName(args……) 的方式进行。而静态成员不依赖于对象存在,即使是类所属的对象不存在,也可以被访问,它对整个进程而言是全局的。因此,在静态方法内部是不可以直接访问非静态成员的

    11、参数

    形参:声明方法时,用于接收外部传入数据的变量

    实参:在调用方法时,传给形参的实际数值

    实参是按照顺序一一对应匹配给形参的

    12、声明的返回值类型,和实际返回的数值的类型要匹配。但不一定要一样,因为自动类型提升的存在

    13、return 后面不能再写语句

    14、有返回值类型的方法一定要有return 所以return写在条件语句里也一定要确定能被执行到,不是你觉得可以被执行到,因为java不是识别数据后在判断,你要保证逻辑上的一定被执行

    15、如果一个方法有返回值,那么只能返回一个

    二、重点问题

    一注意设计一个方法,方法形参中定义的与属性名字相同的局部变量,在方法中用的也是你定义的局部变量,如果想用类中的属性要用this关键字
         int age;
     public static void main(String[] args) { 
            HomeWork test = new HomeWork(); test.put(10);
           public void put(int age){
           System.out.println(this.age);//结果为0 如果输出语句中用的是age则结果是10 

     }}

    二、新思路:在for循环中的if判断语句中,如果判断不正确,可以用i--重新录入此次结果,不需要用break,kreak重新跳出循环了,要重新执行一次程序了,而i--不需要,就很巧妙,因为for循环的循环执行体一定会执行迭代操作。

    import java.util.Scanner;
     public class HomeWork {
     public static void main(String[] args) {
     Scanner scanner = new Scanner(System.in);
     System.out.println("请输入成绩");
     int sum = 0;
     for(int i = 1;i <= 5;i++){
     int a = scanner.nextInt();
     if(a >0){
     sum += a;
     }else{ System.out.println("请重新输入"); i--; } } } }

    三、课堂知识


    3.1 参数

    什么是参数?当前方法执行的时候所需要的外部(调用处)传入的数据。

    形式参数:简称叫形参。声明方法的时候,用于接收外部传入的数据。

    实际参数:简称叫实参。调用方法的时候,给形参所赋值,实际的数据。

    调用方法的时候,用实际参数给形式参数进行赋值,这个过程被称为传参。(参数传递:实参-->形参)

    1、当我们在设计一个方法的时候,要看方法中有几个数值无法确定,需要由调用处传入,那么就设计几个参数。多个参数之间使用,分隔开。

    2、方法调用的时候:实参一定一定严格匹配形参:实参是按照顺序一一配给形参。个数,类型,顺序,严格匹配。

    3.2 返回值

    1、什么叫返回值?

        返回值:表示一个方法执行之后,需要返回给调用处的结果。需要在调用处声明一个变量,来接收这个结果。

    返回值的注意点:

        A:一个方法可以有返回值,也可以没有。

        如果有,那么返回值的类型,要在声明声明方法的时候写清楚,如果没有返回值就写void(空的)。

    public  返回值类型/void 方法名(形式参数){

        方法体;

    }

    B:如果一个方法有返回值,那么只能返回一个。

     C:如果一个方法声明了有返回值,那么在方法中,必须使用return语句将数值返回。

    3.3 return语句

    return语句有两个作用

    1、将一个方法的结果返回给调用处。

    2、结束该方法的执行。

    return语句的注意点:

    A:一个方法声明了有返回值,那么方法中必须使用return关键字将结果返回给调用处。

    B:一个方法声明了有返回值,那么方法中如果有分支,循环语句等,要保证无论执行哪个分支,都要有return语句可以被执行到。

    C:一个方法声明了有返回值,那么return后的数值必须和声明的数据类型一致。(自动转型)

    D:一个方法如果没有返回值,那么也可以使用return语句,结束方法的执行。

    E:习惯上return后没有语句了。

    3.4 方法的分类

    1.无参无返回值的方法:

    public  void methodName(){

    }

    2.有参无返回值的方法:

    public  void methodName(形式参数){

    }

    相关文章

      网友评论

        本文标题:java基础---------形参、返回值类型与return关键

        本文链接:https://www.haomeiwen.com/subject/irbxuhtx.html