新手烦劳大神看下:有关问题出在何方,提示关于this的有关问题,无法从静态上下文中引用非静态变量this

新手烦劳大神看下:问题出在何方,,提示关于this的问题,无法从静态上下文中引用非静态变量this
编译下面代码提示:无法从静态上下文中引用非静态变量this  Name n = new Name("f1","l1");
 

import java.util.*;
public class RongQi {
public static void main (String[] args){
Collection c = new ArrayList();
c.add("Hello");
//c.add(new Name("f1", "l1"));
c.add(new Integer(100));
c.remove("Hello");
c.remove(new Integer(100));
System.out.println(c.size());
System.out.println(c);
Name n = new Name("f1", "l1");
System.out.println(n.toString());
}

class Name{
public String firstName, lastName;
Name(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName (String firstName){
return firstName;
}
public String getLastName(String lastName){
return lastName;
}
public String toString(){
return firstName + " " + lastName;
}
}
}
------解决方案--------------------
你的Name是一个成员内部类,你试着把Name放到外部

public class RongQi {
public static void main (String[] args){
Collection c = new ArrayList();
c.add("Hello");
//c.add(new Name("f1", "l1"));
c.add(new Integer(100));
c.remove("Hello");
c.remove(new Integer(100));
System.out.println(c.size());
System.out.println(c);
Name n = new Name("f1", "l1");
System.out.println(n.toString());
}

}
class Name{
public String firstName, lastName;
Name(String firstName, String lastName){
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName (String firstName){
return firstName;
}
public String getLastName(String lastName){
return lastName;
}
public String toString(){
return firstName + " " + lastName;
}
}
像上面,应该就没问题