类的无参方法
语法:
备注:
1.如果方法没有返回值,返回值类型为void
2.如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型
3.调用一个有返回值类型的方法,必须使用该返回值类型的变量或对象来接收
调用一个无返回值类型的方法,不能使用任何变量或对象来接收
//学习方法,没有返回值,所以返回类型为void public void study(){ System.out.println(studentName + "正在学习..."); System.out.println("他的信息是:"); System.out.println("学号:" + studentId); System.out.println("姓名:" + studentName); System.out.println("年龄:" + age); System.out.println("性别:" + gender); } //计算总成绩方法,返回类型为double类型 public double allGrade() { double all = javaGrade + cGrade + dbGrade; return all; }
public static void main(String[] args) { //1.创建对象 Student zhangsan = new Student(); zhangsan.studentId = 1; zhangsan.studentName = "张三"; zhangsan.age = 20; zhangsan.gender = '男'; //调用方法,返回void类型不需要接收 zhangsan.study(); }//这是两个类和两个main方法,我只是为了作比较,所以四段代码相当于四个类
public static void main(String[] args) { //1.创建对象 Grade grade = new Grade(); grade.javaGrade = ScannerUtil.nextInt("请输入Java成绩:",0,100); grade.cGrade = ScannerUtil.nextInt("请输入C#的成绩:",0,100); grade.dbGrade = ScannerUtil.nextInt("请输入DB成绩:",0,100); //调用方法,需要用同类型数据来接收 double allGrade = grade.allGrade(); System.out.println("总成绩是:"+ allGrade); double avgGrade = grade.avg(); System.out.println("平均成绩是:" + avgGrade); }
运行结果:
方法调用
方法之间允许相互调用,不需要知道方法的具体实现,实现重用,提高效率
情况 | 举例 |
情况1:同一个类中的方法,直接使用方法名调用该方法 | public void a( ) { b( ); //调用b( ) } |
情况2:不同类的方法,先创建类对象,再使用“对象名.方法名()”来调用 | public void a( ) { Teacher t = new Teacher( ); t.b( ); //调用Teacher类的b() } |
类的带参方法
语法:
备注:
1.<访问修饰符>指的是该方法允许被访问的权限范围,只能是public、protected或private。
2.<形式参数列表>是传递给方法的参数列表,列表中各参数间以逗号分隔,
格式: 数据类型 参数1, 数据类型 参数2, … , 数据类型 参数n
如果n=0,则代表没有参数,这时的方法就是前面学习过的无参方法
方法中需要说明传入的参数类型,但传参时不需要说明类型,但形参和实参的类型需要一致。
3.形式参数和实际参数
调用时传的是实参,方法里传入的是形参(上述为实参)
在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参 形参是在定义方式时对参数的称呼,目的是定义方法需要传入的参数个数和类型 实参是在调用方式时传递给方法处理的实际的值
调用方法时,需要注意两点
1:先实例化对象,在调用方法
2:实参的类型、数量、顺序都要与形参一 一对应
重要问题(面试题)
1.成员变量和局部变量的区别?
答:1)成员变量是定义在类中的变量,局部变量是定义在方法中的变量。
2)作用域不同。局部变量的作用域仅限于定义它的方法,在该方法外无法访问,成员变量可以在整个类中使用。
3)初始值不同。java会给成员变量一个初始值,但不会给局部变量初始值,所以局部变量需要在定义时赋值。
4)局部变量可以和成员变量同名,在方法内,局部变量优先级更高。
2.基本类型和引用类型传参的区别?
基本类型传参,传的是变量的值,改变形式参数的值不影响实际参数的值。
引用类型传参,相当于传递了一个引用,这两个引用指向同一个内存空间(也可理解为传的是内存地址),改变形参的值,变量的值也随之改变。
3.注释
单行注释://这里是单行注释
多行注释:/*这里是多行注释,可以多行 */
JavaDoc注释:它能够从程序源代码中抽取类、方法、成员等的注释,形成一个和源代码配套的API帮助文档(简单地说,就是介绍该类、类的方法和成员变量的文档)
JavaDoc注释语法规则:
1:JavaDoc注释以“/**”开头,以“*/”结束
2:每个注释包含一些描述性的文本及若干个JavaDoc标签
3:JavaDoc标签一般以“@”为前缀
标签 | 含义 |
@author | 作者名 |
@version | 版本标识 |
@param | 参数及其意义 |
@since | 最早使用该方法/类/接口的JDK版本 |
@return | 返回值 |
@throws | 异常类及抛出条件 |