A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

5黑马币
  1. package Test2;

  2. import java.io.FileNotFoundException;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.FileInputStream;
  6. import java.util.Collection;
  7. import java.util.Properties;

  8. public class demo5 {
  9.         public static void main(String[] args) throws IOException, Exception, ReflectiveOperationException {
  10.                 InputStream ips = new FileInputStream("config.properties");
  11.                 Properties props = new Properties();
  12.                 props.load(ips);
  13.                 ips.close();
  14.                 String classforName = props.getProperty("className");
  15.                         Class clazz= Class.forName(classforName).getClass();
  16.                         Collection collection = (Collection) clazz.newInstance();
  17.                 person p = new person(2,3);
  18.                 person p2 = new person(3,4);
  19.                 person p3 = new person(1,3);
  20.                 person p4 = new person(1,3);
  21.                 person p5 = new person(2,3);
  22.                 collection.add(p);
  23.                 collection.add(p2);
  24.                 collection.add(p3);
  25.                 collection.add(p4);
  26.                 collection.add(p5);
  27.         }
  28.         
  29. }
  30. class person{
  31.         int age;
  32.         int Str;
  33.         person(int a,int b){
  34.                 this.age = a;
  35.                 this.Str = b;
  36.         }
  37.         @Override
  38.         public int hashCode() {
  39.                 final int prime = 31;
  40.                 int result = 1;
  41.                 result = prime * result + Str;
  42.                 result = prime * result + age;
  43.                 return result;
  44.         }
  45.         @Override
  46.         public boolean equals(Object obj) {
  47.                 if (this == obj)
  48.                         return true;
  49.                 if (obj == null)
  50.                         return false;
  51.                 if (getClass() != obj.getClass())
  52.                         return false;
  53.                 person other = (person) obj;
  54.                 if (Str != other.Str)
  55.                         return false;
  56.                 if (age != other.age)
  57.                         return false;
  58.                 return true;
  59.         }
  60.         
  61.         
  62. }
复制代码

张孝详老师的Java高新技术反射:第27个视频:
这个类哪里有问题请高手指点一二:
这个类不知道怎么了我的电脑老是出现错误

图.jpg (157.49 KB, 下载次数: 18)

这是软件运行时的异常

这是软件运行时的异常

新.jpg (132.62 KB, 下载次数: 11)

这个是软件需要的文件

这个是软件需要的文件

最佳答案

查看完整内容

17行 .getclass()去掉

9 个回复

倒序浏览
17行
.getclass()去掉
回复 使用道具 举报
看不太全,也看不太懂!
回复 使用道具 举报
backin 来自手机 中级黑马 2015-8-17 20:33:43
板凳
我怎么感觉像是C盘的权限不够呢
回复 使用道具 举报
安全权限异常,一般来说,是由于java在反射时调用了private方法所导致的。
如果是这种情况的话,要把反射pirvate的方向设置成public,再调用
回复 使用道具 举报
占个楼先 , 表示还没学到
回复 使用道具 举报
wyd1 中级黑马 2015-8-18 16:23:08
7#
18行不可以newInstance
回复 使用道具 举报
liuch111 发表于 2015-8-17 21:09
17行
.getclass()去掉

shi jian dou qu na le
回复 使用道具 举报
Collection 是一个接口 无法创建对象 你可以试着创建子类德对象
回复 使用道具 举报

占个楼先 , 表示还没学到
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马