定义一个有三个参数的构造方法Student(String name,int age,float score)在该构造方法中调用Student(String name)构造方法给name赋值。
时间: 2024-05-14 10:13:04 浏览: 97
可以的,代码如下:
```
public class Student {
private String name;
private int age;
private float score;
public Student(String name, int age, float score) {
this(name);
this.age = age;
this.score = score;
}
public Student(String name) {
this.name = name;
}
}
```
在有三个参数的构造方法中,首先调用有一个参数的构造方法,然后再对age和score进行赋值。
相关问题
编写java程序,程序中定义一个Student类。 要求: 1.类的属性有private String name; private int age; private float score; 2. 无参构造方法、三个参数的构造方法(初始化name、age、score); 3.方法1:void getStudent(),输出学生的姓名、年龄、成绩; 4.方法2:String getName( ),返回name; 编写主类,要求: 1、主类中定义Student一维数组变量Student[] student_array; 2、定义方法static Student[] creat_Student_Array(),用来创建一个一维数组,并返回该数组。 3、定义一个方法static Student find_Student(Student[] s_a, String name),用来在数组中根据姓名查找该学生,找到则返回学生元素(对象),找不到则返回null。 4、主类中输出找到的学生的信息(调用Student类对象的getStudent()方法。
我理解了你的问题,以下是我的回答:
可以按照以下代码来编写Java程序:
```java
public class Student {
private String name;
private int age;
private float score;
public Student() {
}
public Student(String name, int age, float score) {
this.name = name;
this.age = age;
this.score = score;
}
public void getStudent() {
System.out.println("姓名:" + name + " 年龄:" + age + " 成绩:" + score);
}
public String getName() {
return name;
}
}
```
```java
public class MainClass {
static Student[] student_array;
public static void main(String[] args) {
//创建一个一维数组
student_array = creat_Student_Array();
//查找学生姓名为"张三"的学生
Student student = find_Student(student_array, "张三");
if (student != null) {
//输出查找到的学生信息
student.getStudent();
} else {
System.out.println("找不到该学生!");
}
}
//创建一个一维数组
static Student[] creat_Student_Array() {
Student[] student_array = new Student[3];
student_array[0] = new Student("张三", 18, 90.0f);
student_array[1] = new Student("李四", 20, 80.0f);
student_array[2] = new Student("王五", 22, 70.0f);
return student_array;
}
//在数组中根据姓名查找该学生
static Student find_Student(Student[] s_a, String name) {
for (Student student : s_a) {
if (student.getName().equals(name)) {
return student;
}
}
return null;
}
}
```
以上就是按照你要求编写的Java程序,其中`Student`类有三个属性(姓名、年龄、成绩),还有无参构造方法、三个参数的构造方法、`getStudent()`方法和`getName()`方法;主类`MainClass`中定义了一个`Student`一维数组变量`student_array`,以及一个静态方法`creat_Student_Array()`来创建一个一维数组,并返回该数组,以及一个静态方法`find_Student()`,用来在数组中根据姓名查找该学生,找到则返回学生元素(对象),找不到则返回`null`。最后在主方法中调用两个静态方法实现相应的功能,输出找到的学生信息。
5.阅读下面的程序,回答问题。 interface Achievement { abstract float average( ); class Person { String name; int age; public Person(String newName,int newAge){ name=newName; age=newAge; public void introduce(){ System.out.println("你好,我是"+name+",今年"+age+"岁"); class Student extends Person implements Achievement ( int chinese, math, english; public Student(String newName, int newAge){ super(newName, newAge); public void setScore(int c, int m, int e){ chinese=c; math=m; english=e; public float average( ){ return (chinese+math+english)/3 public class Test2_5 { public static void main(String[ ] args){ Student s1=new Student("张三",16); s1.introduce( ); s1.setScore(92, 90,83); System.out.println("我的平均分是"+s1.average()); 回答问题:(1)程序中定义的接口、主类、父类、子类及接口的实现类?(2)程序中出现的构 造方法、抽象方法?(3)主方法中创建的对象及通过该对象调用的方法?
(1)程序中定义了一个接口 Achievement,主类为 Test2_5,父类为 Person,子类为 Student,Student 实现了 Achievement 接口。
(2)程序中出现了两个构造方法,一个是 Person 的构造方法,另一个是 Student 的构造方法。程序中定义了一个抽象方法 average()。
(3)主方法中创建了一个 Student 对象 s1,并通过 s1 调用了 introduce() 和 average() 方法。
阅读全文