类型 SoftReference 不带有参数

今天在做java 软引用测试的时候遇到了一个问题,报错信息如下:类型 SoftReference 不带有参数

类型 SoftReference 不带有参数_第1张图片

 

部分代码如下:

public class SoftReference{
 public static void main(String[] args)
 {
  SoftReference<Person>[] people = new SoftReference[100];
  for(int i=0;i<people.length;i++)
  {
   people[i] = new SoftReference<Person>(
    new Person("名字"+i,(i+1)*4%100)
   );
  }
    
 }

后来百度了一下,自己也琢磨了一下,明白了:

虽然 java.lang.ref.SoftReference 类的构造函数确实是有参数的,但是,注意看以上代码中的类名就是“SoftReference”,因此程序以这个自定义的SoftReference为准,不去找Java自带的那个,,,,自定义的这个SoftReference没有有显示声明构造函数,但会有一个默认的,也就是不带参数的,因此报这个错。

解决的办法很简单,把改一下类名即可,例如改成SoftReferenceTest。

你可能感兴趣的:(java,类,构造函数)