1.Person类
//第2题:分析以下需求,并用代码实现
// 1.定义Person类包含姓名:String name、年龄:int age、成绩:int score,生成空参、有参构造、set和get方法、toString方法
// 2.定义Student类继承Person,属性与Person类相同
// 3.查看API中ArrayList集合中的以下方法:
// (1)boolean add(E e) 方法
// (2)<T> T[] toArray()方法
// (3)boolean addAll(Collection<? extends E> c)方法
// 4.通过查看API对以上方法的学习,完成以下功能
// (1)ArrayList集合中存入5个Student对象,将ArrayList集合转成对应的数组Student[],并遍历打印数组中的元素
// (2)定义一个存储Person对象的ArrayList集合对象list1,并存入2个Person对象,定义一个存储Student对象的ArrayList集合对象list2,
// 并存入2个Student对象,调用addAll方法将list2的全部内容添加到list1中,遍历打印list1中的内容
package com.n2;
public class Person {
String name;
int age;
int score;
public Person() {
// TODO Auto-generated constructor stub
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Person(String name, int age, int score) {
super();
this.name = name;
this.age = age;
this.score = score;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Person [name=");
builder.append(name);
builder.append(", age=");
builder.append(age);
builder.append(", score=");
builder.append(score);
builder.append("]");
return builder.toString();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
2.Student类
package com.n2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Student extends Person {
String name;
int age;
int score;
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Student [name=");
builder.append(name);
builder.append(", age=");
builder.append(age);
builder.append(", score=");
builder.append(score);
builder.append("]");
return builder.toString();
}
public Student() {
// TODO Auto-generated constructor stub
}
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student1 = new Student("张三", 23, 100);
Student student2 = new Student("李四", 21, 98);
Student student3 = new Student("王五", 22, 78);
Student student4 = new Student("马六", 23, 87);
Student student5 = new Student("马哈哈", 20, 65);
List<Student> list = new ArrayList<Student>();
list.add(student1);
// System.out.println(list.get(0));
list.add(student2);
list.add(student3);
list.add(student4);
list.add(student5);
// (1)ArrayList集合中存入5个Student对象,将ArrayList集合转成对应的数组Student[],并遍历打印数组中的元素
for (Student student : list) {
System.out.println(student);
}
// for (int k = 0; k <list.size(); k++) {
// System.out.println(list.get(k));
//
// }
// 错误答案
// Object[] arr=new Object[list.size()];
// String[] arr1=list.toArray(new String[list.size()]);
// Student[] arr=new Student[list.size()];
// for(int i=0;i<list.size();i++) {
// arr[i]=list.get(i);
// }
// System.out.println(Arrays.toString(arr));
//
// (2)定义一个存储Person对象的ArrayList集合对象list1,并存入2个Person对象,定义一个存储Student对象的ArrayList集合对象list2,
// 并存入2个Student对象,调用addAll方法将list2的全部内容添加到list1中,遍历打印list1中的内容
List<Person> list1 = new ArrayList<Person>();
list1.add(new Person("中国人", 45, 100));
list1.add(new Person("美国人 ", 20, 52));
List<Student> list2 = new ArrayList<Student>();
list2.add(new Student("曹操", 58, 65));
list2.add(new Student("刘备", 85, 100));
list1.addAll(list2);
for (Person person : list1) {
System.out.println(person);
}
}
}