1.修改 list.get(i).name = name_1;
一、封装
1.成员变量增加private,在其他类访问成员变量,无法访问
2.无关成员方法,因为方法还用public来修饰
作用:
1、提高了代码的复用性。
2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。
3、提高了安全性。
通过set赋值,get取值;
成员变量:
1.成员变量系统会自动提供初始化值
2.this:泛指对象,具体指哪个对象,不确定;谁调用this,this就代表它;
3.this.来区别成员变量和局部变量
二、类的构造:
1.成员变量
2.成员方法
3.一个或多个构造方法
构造方法:class Student{
public Student{
}
}
作用:提供初始化值
1 /* 2 实现类的封装,set,get的编写 3 实现简单的增删改查的功能,如有错误请及时指正, 4 欢迎和我一起探讨。 5 */ 6 import java.util.*; 7 class studentDemo 8 { 9 public static void main(String[] args) 10 { 11 choose(); 12 //System.out.println("Hello World!"); 13 } 14 public static void list(){ 15 System.out.println("1.查看学生信息"+"\n"+"2.修改学生信息"+"\n"+"3.添加学生信息"+"\n"+"4.删除学生信息"+"\n"+"5.退出系统"); 16 } 17 public static void choose(){ 18 ArrayList<Students> list = new ArrayList<Students>(); 19 int_0(list); 20 while(true){ 21 list(); 22 switch(new Scanner(System.in).nextInt()){ 23 case 1:int_1(list);break; 24 case 2:int_2(list);break; 25 case 3:int_3(list);break; 26 case 4:int_4(list);break; 27 case 5:System.out.println("您已成功退出");return; 28 default :System.out.println("请输入正确的序号");return; 29 } 30 } 31 } 32 //实例化 33 public static void int_0(ArrayList<Students> list){ 34 Students s = new Students("黄渤",101,99.3); 35 Students s1 = new Students("邓超",102,93.3); 36 Students s2 = new Students("孙俪",108,99.9); 37 list.add(s); 38 list.add(s1); 39 list.add(s2); 40 } 41 //1键功能 42 public static void int_1(ArrayList<Students> list){ 43 for(int i = 0;i<list.size();i++){ 44 System.out.println("姓名"+ list.get(i).getName() +"\t"+"学号"+ list.get(i).getXuehao() +"\t"+"\t"+"成绩"+ list.get(i).getSecord() +"\t"); 45 } 46 } 47 //2键功能修改 48 public static void int_2(ArrayList<Students> list){ 49 System.out.println("请输入您想要修改的姓名:"); 50 String name = new Scanner(System.in).next(); 51 for(int i = 0;i<list.size();i++){ 52 if(name.equals(list.get(i).getName())){ 53 System.out.println("您想更正的姓名"); 54 list.get(i).setName(new Scanner(System.in).next()) ; 55 System.out.println("您更改的学号是"); 56 list.get(i).setXuehao(new Scanner(System.in).nextInt()); 57 System.out.println("您更改的成绩是"); 58 list.get(i).setSecord(new Scanner(System.in).nextDouble()); 59 System.out.println("更改成功"); 60 return; 61 } 62 } 63 System.out.println("请正确输入:");int_2(list);return; 64 } 65 //3键功能 66 public static void int_3(ArrayList<Students> list){ 67 Students s = new Students(); 68 System.out.println("请输入你想要增加的姓名"); 69 s.setName(new Scanner(System.in).next()); 70 System.out.println("您增加的学号是"); 71 s.setXuehao(new Scanner(System.in).nextInt()); 72 System.out.println("您增加的成绩是"); 73 s.setSecord(new Scanner(System.in).nextDouble()); 74 list.add(s); 75 System.out.println("增加成功"); 76 return; 77 } 78 //4键功能 79 public static void int_4(ArrayList<Students> list){ 80 System.out.println("请输入您想删除的姓名"); 81 String name = new Scanner(System.in).next(); 82 for(int i = 0 ;i<list.size();i++){ 83 if(name.equals(list.get(i).getName())){ 84 list.remove(i); 85 System.out.println("删除成功"); 86 return; 87 } 88 } 89 System.out.println("请正确输入:");int_4(list);return; 90 } 91 } 92 class Students 93 { 94 private String name; 95 private int xuehao; 96 private Double secord; 97 //无参 98 public Students(){} 99 //有参 100 public Students(String name,int xuehao,Double secord){ 101 this.name = name; 102 this.xuehao = xuehao; 103 this.secord = secord; 104 } 105 106 //get set Name 107 public String getName(){ 108 return this.name; 109 } 110 public void setName(String name){ 111 this.name = name; 112 } 113 114 //get set xuehao 115 public int getXuehao(){ 116 return this.xuehao; 117 } 118 public void setXuehao(int xuehao){ 119 this.xuehao = xuehao; 120 } 121 122 //get set secord 123 public void setSecord(Double secord){ 124 this.secord = secord; 125 } 126 public Double getSecord(){ 127 return this.secord; 128 } 129 }