#学生类
package cn.itcast.callName;
public class Students {
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
点名器
package cn.itcast.callName;
import java.util.ArrayList;
import java.util.Random;
public class CallName {
public static void main(String[] args) {
ArrayList<Students> arr = new ArrayList<Students>();
addStudent(arr);
printStudentname(arr);
randomStudents(arr);
}
public static void addStudent(ArrayList<Students> arr){
Students s1 = new Students();
Students s2 = new Students();
Students s3 = new Students();
Students s4 = new Students();
Students s5 = new Students();
Students s6 = new Students();
s1.setName("张三");
s1.setAge(18);
s2.setName("李四");
s2.setAge(19);
s3.setName("王五");
s3.setAge(20);
s4.setName("王八蛋");
s4.setAge(22);
s5.setName("舒淇");
s5.setAge(23);
s6.setName("哈韩狗");
s6.setAge(19);
arr.add(s1);
arr.add(s2);
arr.add(s3);
arr.add(s4);
arr.add(s5);
arr.add(s6);
}
public static void randomStudents(ArrayList<Students> arr){
Random r = new Random();
int index = r.nextInt(arr.size());
Students s = arr.get(index);
System.out.println(s.getName());
}
public static void printStudentname(ArrayList<Students> arr){
for(int i = 0;i <arr.size(); i++){
Students s = arr.get(i);
System.out.println(s.getName()+"..."+s.getAge());
}
}
}
System.out.println(s.getName()+"..."+s.getAge());这一行代码中,s.getName()的原理是啥?我愣是搞不懂,该不会是固定格式吧..
s是否地址,地址调用getName方法吗?那为啥getName后不需要传参?不传参怎么返回值?