JAVA面向对象——对象数组概念与举例

客官°小女子只卖身不卖艺 2022-09-24 06:29 414阅读 0赞
  1. <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">对象数组:</span><span style="font-family: Arial, Helvetica, sans-serif; color: rgb(102, 0, 0); background-color: rgb(255, 255, 255);">就是由对象构成的数组,类就是数组的类型。</span>

定义方法:类名[ ] 数组名=new 类名[ n];

使用方法:与普通数组使用基本相同,不同的是,在对象数组中,不仅仅数组定义的时候需要New ,而且在数组成员类定义添加的时候也需要New出一个对象。

举例代码:

1、首先定义一个学生类,在类中,定义了学生的姓名,年龄,成绩,学号等信息。

  1. public class Student {
  2. private String name;
  3. private int age;
  4. private int stuId;
  5. private int score;
  6. @Override
  7. public String toString() {
  8. return "Student [name=" + name + ", age=" + age + ", stuId=" + stuId + ", score=" + score + "]";
  9. }
  10. public Student(String name, int age, int stuId, int score) {
  11. this.name=name;
  12. this.age=age;
  13. this.stuId=stuId;
  14. this.score=score;
  15. }
  16. public String getName() {
  17. return name;
  18. }
  19. public void setName(String name) {
  20. this.name = name;
  21. }
  22. public int getAge() {
  23. return age;
  24. }
  25. public void setAge(int age) {
  26. this.age = age;
  27. }
  28. public int getStuId() {
  29. return stuId;
  30. }
  31. public void setStuId(int stuId) {
  32. this.stuId = stuId;
  33. }
  34. public int getScore() {
  35. return score;
  36. }
  37. public void setScore(int score) {
  38. this.score = score;
  39. }
  40. }

2、定义一个计算类,用来演示对象数组 的增删改查的操作

  1. public class StuSet {
  2. Student[] student;//该变量即对象数组,用来表示一个班级
  3. int stuCount;//该变量用来表示存储到数组的哪一个位置了
  4. public StuSet() {
  5. student = new Student[30];
  6. }
  7. public void addStu(Student stu) {
  8. System.out.println("\n增加学生"+stu.getName());
  9. student[stuCount++]=stu;
  10. }
  11. public void deleteStu(String name) {
  12. System.out.println("\n删除学生"+name);
  13. for(int i=0;i<stuCount;i++){
  14. if(student[i].getName().equals(name)){
  15. for(int j=i;j<stuCount;j++){
  16. if(j<stuCount-1){
  17. student[j]=student[j+1];
  18. }else{
  19. student[j]=null;
  20. }
  21. }
  22. stuCount--;
  23. break;
  24. }
  25. }
  26. }
  27. public void alterStu(String name,Student stu) {
  28. System.out.println("\n修改学生"+name);
  29. for(int i=0;i<stuCount;i++){
  30. if(student[i].getName().equals(name)){
  31. student[i]=stu;
  32. }
  33. }
  34. }
  35. public void selectStuAll() {
  36. System.out.println("\n查询全部学生");
  37. for(int i=0;i<stuCount;i++){
  38. System.out.println(student[i].toString());
  39. }
  40. }
  41. public void selectStu(String name) {
  42. System.out.println("\n查询"+name+"的信息");
  43. for(int i=0;i<stuCount;i++){
  44. if(student[i].getName().equals(name)){
  45. System.out.println(student[i].toString());
  46. }
  47. }
  48. }
  49. }

3、然后再一个主类里面使用刚刚建立的计算类。

  1. public class stuMain {
  2. public static void main(String[] args) {
  3. StuSet ss=new StuSet();
  4. ss.addStu(new Student("张三",18,12,91));
  5. ss.addStu(new Student("李四",18,13,92));
  6. ss.addStu(new Student("王五",18,14,88));
  7. ss.selectStuAll();
  8. ss.deleteStu("李四");
  9. ss.selectStuAll();
  10. ss.alterStu("王五", new Student("王小五",18,15,78));
  11. ss.selectStuAll();
  12. ss.selectStu("张三");
  13. }
  14. }

发表评论

表情:
评论列表 (有 0 条评论,414人围观)

还没有评论,来说两句吧...

相关阅读