自定义一个包,调用的时候为什么不能用:import mypackge.*?如果指定import mypackage.Myclass;就行,为什么 ? 应该没问题,是不是没有加冒号结束import mypackage.*; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是编译器提示错误?你是不是在调用的类中有重名的对象啊?比如说你有个类叫mypackage.String。 自定义一个包,调用的时候为什么不能用:import mypackge.*?如果指定import mypackage.Myclass;就行,为什么 ? 原因: import mypackge.*; //包名少了一个a mypackage.* import mypackage.Myclass; //正确 以下程序运行时就有问题:打包的程序package Mypackage;import java.util.*; //引用java.util包public class NewDate { private int year,month,day; public NewDate(int y,int m,int d) { year = y; month = (((m>=1) & (m<=12)) ? m : 1); day = (((d>=1) & (d<=31)) ? d : 1); } public NewDate() { this(0,0,0); } public static int thisyear() //获得当年的年份 { return Calendar.getInstance().get(Calendar.YEAR); } public int year() //获得年份 { return year; } public String toString() //转化为字符串 { return year+"-"+month+"-"+day; }}调用包的程序:import Mypackage.*; //引用Mypackage包中的NewDate类public class People{ private String name; private NewDate birth; public static void main(String args[]) { People a = new People("Wangli",1981,2,14); a.output(); } public People(String n1,NewDate d1) { name = n1; birth = d1; } public People(String n1,int y,int m,int d) { this(n1,new NewDate(y,m,d)); } public People() { this("",new NewDate()); } public int age() //计算年龄 { return NewDate.thisyear() - birth.year(); //获得年份 } public void output() { System.out.println("name : "+name); System.out.println("birth: "+birth.toString()); System.out.println("age : "+age()); } }问题:如果把调用的程序的第一条语句改成:import Mypackage.NewDate;就行 没重名,包里只有一个类;自定义一个包,调用的时候为什么不能用:import mypackge.*?如果指定import mypackage.Myclass;就行,为什么 ?不好意思,是import mypackage.*;? 这个问题真有意思!我怎么没有碰到类似问题!???你的包里就一个NewDate类吗?有没有其他的类?还有这个问题可能是 访问权限的问题比如: public class NewDate{} 是这样的,包中只有一个类时,import 必须指定 包.类名包中多于一个类时,可以import 包.*; import xxx.*;如果xxx包中只有一个类是一定会出错的。 试了,再加入其他的类还是不行。权限是public, 应该不是权限的问题 因为你定义的是String类,你必须明确确定是哪个String类.java自带了一个String类. 我上次用的是很简单的两个类class A{}class B{}在class C 中用这两个类也遇到和你一样的问题。现在还是一头雾水 我设置的classpath是这样的:classpath=,;c:\j2sdk\1.4.2\lib;d:\javaex我的JAVA程序放在d:\javaex,包放在 d:\javaex\Mypackage,在包里不止一个类。路劲path=.;c:\j2sdk1.4.2\bin 我也遇到这个问题由包a.java 用javac -d . a.java 编译,调用的b.java 直接编译的话错误,要么向上面一样改import,要么将a.java 改名然后编译b,否则出错,不知为什么 是不是classpath的问题? classpath= 之后接着的应该是 . (点号)啊.你上面的是 , (逗号).而且classpath最后应该以 ; 结束. 我试着也是没问题a~~~~~正常运行~~~~~~~~~~~~~这种情况很是没个准头的,有时候,我的程序没错,改错后,在恢复回来,就报错。重奇IDE才行~~~~~~~~~ 可能是你把NewDate的源文件放在了People的目录下面了,这造成了它和mypackge目录下的文件重名,就出错了。 哥们,我也遇到这个问题了,同感!在用jdbc连接sql server的时候:import sql.*;怎么编译都出错?折磨了我好多天之后,我试着改成import sql.Connection;就没有问题了,都怪死了。可能是JDK的编译器有问题!我的QQ:30175774,希望能向你学习。 把那个NewDate.java编译后试了一下,果然PeoPle.java编译可以通过,这应该算是JAVA的不足支出吧,调用当然是调用class文件,怎么会调用java文件呢?-------------------------------------------------------------------sunlen(伏枥)可能是你把NewDate的源文件放在了People的目录下面了,这造成了它和mypackge目录下的文件重名,就出错了。----------------------------------------------------------------------- 唉,不知道是为什么,我把NewDate.java,People.java放在同一个目录(Test)下,遇到跟搂住一样的情况,但是我把Newdate.java或者People.java放到上一级目录下,还是不行,不知道是为什么,哪位大哥介绍一下呢?但是在建一个工程文件,把这两个文件是同一个目录下,没有出现问题,不知道是什么? 只要不把Newdate.java和People.java放到同义目录下,就可以了 类间不能访问 怎么弄java布局啊,谁有好的方法啊 调用javabean的问题 请问,Frame里面可以盛装Applet对象么? 碰到一件郁闷的事情 问一个弱弱的问题,强者帮忙解决,谢谢。。。。。 给大家支个招 支持者有分!! 初级问题! 帮忙帮忙如何设置变量pathclass 关于薪水的问题 请问:怎样在FileDialog中加入对扩展名的选择? ★★请高手讲解catch、finally、thows ioexecption的区别?
原因:
import mypackge.*; //包名少了一个a mypackage.*
import mypackage.Myclass; //正确
package Mypackage;
import java.util.*; //引用java.util包
public class NewDate
{
private int year,month,day;
public NewDate(int y,int m,int d)
{
year = y;
month = (((m>=1) & (m<=12)) ? m : 1);
day = (((d>=1) & (d<=31)) ? d : 1);
}
public NewDate()
{
this(0,0,0);
}
public static int thisyear() //获得当年的年份
{
return Calendar.getInstance().get(Calendar.YEAR);
}
public int year() //获得年份
{
return year;
}
public String toString() //转化为字符串
{
return year+"-"+month+"-"+day;
}
}调用包的程序:
import Mypackage.*; //引用Mypackage包中的NewDate类
public class People
{
private String name;
private NewDate birth;
public static void main(String args[])
{
People a = new People("Wangli",1981,2,14);
a.output();
}
public People(String n1,NewDate d1)
{
name = n1;
birth = d1;
}
public People(String n1,int y,int m,int d)
{
this(n1,new NewDate(y,m,d));
}
public People()
{
this("",new NewDate());
}
public int age() //计算年龄
{
return NewDate.thisyear() - birth.year(); //获得年份
}
public void output()
{
System.out.println("name : "+name);
System.out.println("birth: "+birth.toString());
System.out.println("age : "+age());
}
}问题:
如果把调用的程序的第一条语句改成:import Mypackage.NewDate;就行
自定义一个包,调用的时候为什么不能用:import mypackge.*?如果指定import mypackage.Myclass;就行,为什么 ?不好意思,是import mypackage.*;?
我怎么没有碰到类似问题!???
你的包里就一个NewDate类吗?有没有其他的类?
还有这个问题可能是 访问权限的问题
比如:
public class NewDate{}
包中只有一个类时,import 必须指定 包.类名
包中多于一个类时,可以import 包.*;
如果xxx包中只有一个类是一定会出错的。
权限是public, 应该不是权限的问题
class A{}
class B{}
在class C 中用这两个类也遇到和你一样的问题。
现在还是一头雾水
我的JAVA程序放在d:\javaex,包放在 d:\javaex\Mypackage,在包里不止一个类。
路劲path=.;c:\j2sdk1.4.2\bin
正常运行~~~~~~~~~~~~~
这种情况很是没个准头的,有时候,我的程序没错,改错后,在恢复回来,就报错。重奇IDE才行~~~~~~~~~
在用jdbc连接sql server的时候:
import sql.*;
怎么编译都出错?折磨了我好多天之后,我试着改成import sql.Connection;就没有问题了,都怪死了。可能是JDK的编译器有问题!我的QQ:30175774,希望能向你学习。
sunlen(伏枥)
可能是你把NewDate的源文件放在了People的目录下面了,这造成了它和mypackge目录下的文件重名,就出错了。
-----------------------------------------------------------------------