Educoder–Java第1关:学习-Java继承和多态之⽅法重载
⽂章⽬录
任务描述
本关任务:使⽤重载⽅法为 Student 类创建三个构造⽅法。
相关知识
Java 中重载是指⼀个类中可以有多个⽅法具有相同的名字,但这些⽅法的参数必须不同。这⾥需要注意的是参数不同需要满⾜ 2 个条件:⼀个是参数的个数不同;⼀个是参数个数相同,但参数列表中对应的某个参数的类型不同。最常⽤的地⽅就是构造器的重载。
重载的要求如下:
⽅法名相同;
⽅法的参数类型,参数个不⼀样;
⽅法的返回类型可以不相同;
⽅法的修饰符可以不相同;
main ⽅法也可以被重载。
例⼦:
public class Demo {
// 定义⼀个 sum 的⽅法,携带 2 个参数,都为 int 型,返回值为 int 型
public static int sum(int a,int b){
int c = a + b;
return c;
}
// 定义⼀个 sum 的⽅法,携带 2 个参数,⼀个为 int 型,⼀个为double 型
public static double sum(int a,double b){
double c = a + b;
return c;
}
// 定义⼀个 sum 的⽅法,携带 3 个参数,都为 int 型,返回值为 int 型
public static int sum(int a,int b,int c){
int d = a + b + c;
return d;
}
public static void main(String[] args){
int a =1;
int b =2;
int c =3;
System.out.println(sum(a,b,c));
System.out.println(sum(a,b));
System.out.print(sum(3,5.0));
}
}
执⾏结果:
6
3
8.0
虽然三个⽅法名都相同,但是他们携带的参数个数或参数类型并不完全⼀致,这种时候我们就将其称为重载。值的注意的是:⽅法的重载与返回值类型并⽆任何关系。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提⽰编写程序代码。
测试说明
平台将使⽤测试集运⾏你编写的程序代码,若全部的运⾏结果正确,则通关。可在右侧“测试结果”区查看具体的测试集详情。
答案
/**
* 任务:使⽤重载⽅法为 Student 类创建三个构造⽅法。
* 类名为:Student
*/
public class Student {
private String name;// 学⽣的姓名
private String num;// 学⽣的学号信息
private double grades;// 学⽣的成绩
// 请在下⾯的Begin-End之间按照注释中给出的提⽰编写正确的代码
/********** Begin **********/
// 创建⼀个有参构造函数,携带⼀个学⽣姓名的参数
public Student(String name){
this.name = name;
}
// 创建⼀个有参构造函数,携带学⽣姓名和学⽣学号信息的参数
public Student(String name, String num){
this.name = name;
this.num = num;
}
// 创建⼀个有参构造函数,携带学⽣姓名、学⽣学号和学⽣成绩信息的参数public Student(String name, String num,double grades){
this.name = name;
this.num = num;
学习java的学习方法}
/********** End **********/
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String getNum(){
return num;
}
public void setNum(String num){
this.num = num;
}
public double getGrades(){
return grades;
}
public void setGrades(double grades){
}
@Override
public String toString(){
return"Student{"+
"name='"+ name +'\''+
", num='"+ num +'\''+
", grades="+ grades +
'}';
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论