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

一、重点知识

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关键字)