普通方法
类的方法是为了完成某个特定的应用程序功能存在的,我们要实现程序的某些功能的时候,一般都是某些类的功能,比如上一篇中的学生类,有一个展示学生信息的方法,我们就可以把它放到学生类里面(因为只要是学生,他就都有这个展示信息的功能),而方法是有返回值的,也可以没有返回值,返回类型为void。有返回值的时候,方法最后必须return 返回值。如:
//这是一个show方法,只是输出hello,返回值为voidpublic void show(){ System.out.print("hello"); }
//这个show方法一样可以输出hello,但是他返回类型是String,所以必须return 一个String类型的东西,不一定是s,只要是String类型的就可以,比如return ""; 一样可以执行,但是测试输出的时候,输出的不是hello,因为return返回什么,就给什么。public String show(){ String s="hello" return s; }
构造方法和带参构造方法
每一个类都会默认有一个无参的构造方法,构造方法的方法名是和类型一致的,构造方法是缺少返回值的,如:
//Student类的默认无参构造方法Student()public class Student{ public Student(){ } }
无参的构造方法写不写都是存在的,但是如果写了一个带参的构造方法,默认的无参构造方法就会被带参的构造方法覆盖掉,这时候如果还想使用无参的构造方法,就需要手动写出来。
一般更多倾向于使用带参的构造方法
带参构造方法的意义就在于创建对象的时候就可以直接初始化对象,省去代码的繁琐,其实我们每一次创建一个对象,都在调用构造方法,例如:
public class Text { public static void main(String[] args) { //new 后面的 Student()就是调用了Student类的构造方法 Student s=new Student(); s.name="张三"; s.age=18; s.num=2014132209; s.score=100; s.showInfo(); } }
所以我们可以写一个带参的构造方法,在创建对象的时候直接赋值初始化对象,减少代码量,如:
public class Student { public String name;//学生姓名 public int age;//学生年龄 public int num;//学生学号 public float score;//学生成绩
//无参构造方法
public Student() {} //带参构造方法 public Student(String name, int age, int num, float score) { super(); this.name = name; this.age = age; this.num = num; this.score = score; } public void showInfo(){ System.out.println("姓名:"+name+"年龄:"+age+"学号:"+num+"成绩:"+score); } }
这就写了一个带参的构造方法,我们在main方法中创建对象的时候就可以直接赋值了:
一样的效果,更简单的配方,这就是带参构造方法的好处。
普通带参方法
普通带参方法其实就是main方法中你调用这个普通方法的时候,你给我一个东西,我在我的方法里面有使用到你给我的这个东西(参数)进行运算或者判断等等实现具体的功能,再返回给你你需要的东西,在之后的具体项目中再深入体会。
带参方法有一下注意事项:
1.方法定义处,参数叫作形式参数(形参),主要来约束参数的类型。
2.形参名字可以随意(但要具有意义),遵循驼峰命名规则---studentName;
3.方法调用出处,参数叫作实际参数(实参),名字也要有意义,遵循驼峰规则。
4.形参和实参类型必须一致,名字可以不一致,也可以一致。
5.方法有没有返回值,和方法有没有参数,没有任何关系。
6.方法参数可以有多个,多个参数之间用逗号隔开。
7.多个形参和实参的数量要一致,数据类型也要一致。
当参数传递为基本数据类型的时候,参数变化不保留。
当参数传递为引用数据类型的时候,参数变化会保留。Stiring和数组都是引用数据类型。
方法重载
就是一个类中的方法,允许出现多个同名但不同参的方法,叫作方法重载,主要为了方便调用方法的时候需要传参的类型可能有时多有时少,但是方法的意义都是一样的,增加代码的重用性和可阅读性,如:
public Student(String name, int age, int num, float score) { super(); this.name = name; this.age = age; this.num = num; this.score = score; } public Student(int age, int num, float score) { this.age = age; this.num = num; this.score = score; } public Student(int num, float score) { this.num = num; this.score = score; }
来源:https://www.cnblogs.com/EasyInsomnia/p/10054189.html