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{
}
}
作用:提供初始化值
/*
实现类的封装,set,get的编写
实现简单的增删改查的功能,如有错误请及时指正,
欢迎和我一起探讨。
*/
import java.util.*;
class studentDemo
{
public static void main(String[] args)
{
choose();
//System.out.println("Hello World!");
}
public static void list(){
System.out.println("1.查看学生信息"+"\n"+"2.修改学生信息"+"\n"+"3.添加学生信息"+"\n"+"4.删除学生信息"+"\n"+"5.退出系统");
}
public static void choose(){
ArrayList<Students> list = new ArrayList<Students>();
int_0(list);
while(true){
list();
switch(new Scanner(System.in).nextInt()){
case 1:int_1(list);break;
case 2:int_2(list);break;
case 3:int_3(list);break;
case 4:int_4(list);break;
case 5:System.out.println("您已成功退出");return;
default :System.out.println("请输入正确的序号");return;
}
}
}
//实例化
public static void int_0(ArrayList<Students> list){
Students s = new Students("黄渤",101,99.3);
Students s1 = new Students("邓超",102,93.3);
Students s2 = new Students("孙俪",108,99.9);
list.add(s);
list.add(s1);
list.add(s2);
}
//1键功能
public static void int_1(ArrayList<Students> list){
for(int i = 0;i<list.size();i++){
System.out.println("姓名"+ list.get(i).getName() +"\t"+"学号"+ list.get(i).getXuehao() +"\t"+"\t"+"成绩"+ list.get(i).getSecord() +"\t");
}
}
//2键功能修改
public static void int_2(ArrayList<Students> list){
System.out.println("请输入您想要修改的姓名:");
String name = new Scanner(System.in).next();
for(int i = 0;i<list.size();i++){
if(name.equals(list.get(i).getName())){
System.out.println("您想更正的姓名");
list.get(i).setName(new Scanner(System.in).next()) ;
System.out.println("您更改的学号是");
list.get(i).setXuehao(new Scanner(System.in).nextInt());
System.out.println("您更改的成绩是");
list.get(i).setSecord(new Scanner(System.in).nextDouble());
System.out.println("更改成功");
return;
}
}
System.out.println("请正确输入:");int_2(list);return;
}
//3键功能
public static void int_3(ArrayList<Students> list){
Students s = new Students();
System.out.println("请输入你想要增加的姓名");
s.setName(new Scanner(System.in).next());
System.out.println("您增加的学号是");
s.setXuehao(new Scanner(System.in).nextInt());
System.out.println("您增加的成绩是");
s.setSecord(new Scanner(System.in).nextDouble());
list.add(s);
System.out.println("增加成功");
return;
}
//4键功能
public static void int_4(ArrayList<Students> list){
System.out.println("请输入您想删除的姓名");
String name = new Scanner(System.in).next();
for(int i = 0 ;i<list.size();i++){
if(name.equals(list.get(i).getName())){
list.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("请正确输入:");int_4(list);return;
}
}
class Students
{
private String name;
private int xuehao;
private Double secord;
//无参
public Students(){}
//有参
public Students(String name,int xuehao,Double secord){
this.name = name;
this.xuehao = xuehao;
this.secord = secord;
}
//get set Name
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
//get set xuehao
public int getXuehao(){
return this.xuehao;
}
public void setXuehao(int xuehao){
this.xuehao = xuehao;
}
//get set secord
public void setSecord(Double secord){
this.secord = secord;
}
public Double getSecord(){
return this.secord;
}
}