使用反射机制完成学生对象的创建并输出学生信息。
来源:互联网 发布:佳能ip1180清零软件 编辑:程序博客网 时间:2024/05/20 16:12
publicclass TestStudent {public static void main(String[] args)throws Exception, Exception { Scanner sc=new Scanner(System.in); System.out.println("请输入学生的信息(姓名:年龄:成绩):"); String s=sc.nextLine(); //用冒号分隔开 String[] ss = s.split(":"); //存放分隔后的数据 Properties p=new Properties(); File f=newFile("student.properties"); if(!f.exists()){ p.load(new FileInputStream(f)); } //设置p的属性name值为ss[0] p.setProperty("name", ss[0]); //设置p的属性age值为ss[1] p.setProperty("age", ss[1]); //设置p的属性score值为ss[2] p.setProperty("score", ss[2]); //把得到的p的值存储到刷新后的.properties文件里 p.store(new FileOutputStream(f),"student.properties"); //找到需要反射的类放到定义的Class中 Class<?>c=Class.forName("com.sxt.Test25.Student"); //找到刚刚反射到的类的构造方法的参数以及类型 Constructor<?>cc=c.getDeclaredConstructor(String.class,int.class,float.class); //定义一个学生类把反射到的构造方法参数放到学生类中 Student ns=(Student)cc.newInstance(p.getProperty("name"),Integer.parseInt(p.getProperty("age")),Float.parseFloat(p.getProperty("score"))); //调用反射到的类的方法 Methodm=c.getDeclaredMethod("toString", null); //输出调用的方法并吧存放在学生类中的数据放进去 System.out.println(m.invoke(ns, null)); }}publicclass Student {String name; int age; float score; public Student() {} public Student(String name, int age, floatscore) { this.name = name; this.age = age; this.score = score; } @Override public String toString() { return "Student [name=" + name+ ", age=" + age + ", score=" + score+ "]";
}}
阅读全文
0 0
- 使用反射机制完成学生对象的创建并输出学生信息。
- 完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部信息保存在文件中,可以实现对学生信息的学号查找,输出全部学生信息的功能。
- Student类,包括学生姓名、性别、年龄、Java成绩。要求创建五个该类对象,输出每个学生信息,计算并输出这五个学生Java成绩的平均值, 以及计算并输出他们Ja
- 学生信息的输出
- 根据类Student的定义,创建五个该类的对象,输出每个学生的信息, 计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
- 输入、输出学生的信息
- 输入/输出学生的信息
- 使用顺序表完成学生信息的存储
- C语言之结构体(求学生中语文成绩最低的学生,并输出学生信息)
- 类和对象输出学生信息
- oj-输出学生信息
- 输出学生信息
- 输出学生信息
- 输出学生信息
- 输入\输出学生信息
- 输入/输出学生信息
- 输入/输出学生信息
- 输入/输出学生信息
- 使用netkit搭pppoe服务器
- leetcode 100 SameTree 3行
- PAT 甲级 1016. Phone Bills (25)
- 数据结构的简单理解(4)
- 网易2018校招在线编程题-第一题
- 使用反射机制完成学生对象的创建并输出学生信息。
- 1104: 盒子游戏(简单博弈)
- CSS基础知识
- 网易2018校招在线编程题-第二题
- Cake HDU
- BZOJ 1407 exgcd
- 设计模式笔记--设计模式比较
- RecycleView的刷新,点击监听以及下划线设置
- netkit-ng安装使用