求助,在下萌新,arraylist遇到一些问题

恭喜WE 2019-03-12 04:13:17
我先写了一个类:
package pickone_com;

public class Student {
private String name;
private String age;

public Student() {

}

public Student(String name, String age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}
}
然后写了一个测试类:
package pickone_com;

import java.util.ArrayList;
import java.util.Scanner;

public class StudentDemo {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<>();
addStudent(array);

for(int index=0;index<array.size();index++) {
Student s = array.get(index);
System.out.println(s.getName()+" "+s.getAge());
}
}
public static void addStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = sc.nextLine();
System.out.print("请输入学生姓名:");
String age = sc.nextLine();

Student s = new Student();
s.setName(name);
s.setAge(age);

array.add(s);
}
}
请问:ArrayList<Student> array = new ArrayList<>()里面为什么要写Student啊
public static void addStudent(ArrayList<Student> array){ } 为什么要把这个ArrayList<Student> array传进去啊

---------------------------------------------------------------------------------------------------------------------------------
package pickone_com;
import java.util.ArrayList;

public class StudentDemo2 {
public static void main(String[] args) {
ArrayList<ArrayListDomo3> array0 = new ArrayList<>();

Student a1 = new ArrayListDomo3("adjio",23);
Student a2 = new ArrayListDomo3("达摩祖师",99);
Student a3 = new ArrayListDomo3("张三丰",77);

array0.add(a1);
array0.add(a2);
array0.add(a3);
}
}
请问,Student a1 = new ArrayListDomo3("adjio",23)是在调用构造方法吗?为什么要调用这个构造方法啊,不应该写成这个Student s = new Student()的样子吗?我就是搞不明白,Student a1 = new ArrayListDomo3("adjio",23)到底是什么东西,为什么能这样写

为什么上面那个测试类里写的是这个Student s = new Student(),最后这个类里面不这样写啊
构造方法到底是干嘛用的啊
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39531412 2019-03-19
  • 打赏
  • 举报
回复
写一个无参构造和个有参构造 然后在分别toString方法下 看看有什么不同。
恭喜WE 2019-03-12
  • 打赏
  • 举报
回复
构造方法干嘛用的啊
array.add(s),这个为什么要写成这个样子啊
夜雨恋星辰 2019-03-12
  • 打赏
  • 举报
回复
Student a1 = new ArrayListDomo3("adjio",23)是在调用构造方法吗?
是的,你的Student类中有定义了以下两个构造函数

public Student() {

}

public Student(String name, String age) {
this.name = name;
this.age = age;
}
qybao 2019-03-12
  • 打赏
  • 举报
回复
ArrayList<Student> array = new ArrayList<>()里面为什么要写Student啊
这个是范型,你可以百度或谷歌一下了解相关知识
public static void addStudent(ArrayList<Student> array){ } 为什么要把这个ArrayList<Student> array传进去啊
如果不传进去,你怎么往里面存Student信息?或者说你的Student信息要保存到哪里?
当然你可以在里面new一个List,然后不用void,用List返回也可以

请问,Student a1 = new ArrayListDomo3("adjio",23)是在调用构造方法吗?为什么要调用这个构造方法啊,不应该写成这个Student s = new Student()的样子吗?我就是搞不明白,Student a1 = new ArrayListDomo3("adjio",23)到底是什么东西,为什么能这样写
是不是有另一个子类ArrayListDomo3继承了Student?你再好好检查你的代码

50,549

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧