type XXX is accessible. Must qualify"/>
No enclosing instance of type XXX is accessible. Must qualify
错误信息如下:
No enclosing instance of type Analysis_IDCard is accessible. Must qualify the allocation with an enclosing instance of type Analysis_IDCard (e.g. x.new A() where x is an instance of Analysis_IDCard).
原代码:
package AnalysisNo;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;public class Analysis_IDCard {public class IdInformation{public String idnumber; public String birthday;public String sex;public IdInformation(String idnumber,String birthday,String sex){this.birthday=birthday;this.idnumber=idnumber;this.sex=sex;}public String getbirthday() {return birthday;}public String getidnumber() {return idnumber;}public String getsex() {return sex;}}
导致的原因为:
在main方法中实例化
修改:
(1)第一种方法
IdInformation idinfo= new IdInformation(sIDCard,sdate,nSex); //这样是不行的
改成
IdInformation idinfo= new Analysis_IDCard().new IdInformation(sIDCard,sdate,nSex); //这样就可以了
网上查阅了资料之后发现是main方法之前是有一个static修饰的,需要在调用之前先实例化父类Analysis_IDCard,其实错误提示中已经很明显了 (e.g. x.new A() where x is an instance of Analysis_IDCard)
(2)还有一种方法是给IdInformation内部类加上static修饰符即可。
public class Analysis_IDCard {
public static class IdInformation{
IdInformation idinfo= new IdInformation(sIDCard,sdate,nSex); //上面加了static这样实例化就行了
原文链接:
更多推荐
No enclosing instance of type XXX is accessible. Must qualify
发布评论