有一个题目,小鸟百思不得其解,特请教高手,谢谢指教!
要求在A包中定义一个子包B,并在其中定义一个方法C,内容为显示“这是子包中的方法”这一句话。然后用一个程序去调用。可是我在后面一个程序里面定义的时候,怎么也不成功,而且错误很离奇。下面是我的代码。
/*以下是定义B包的语句*/
C.javapackage a.b;
class C{
public void disp(String args []){
System.out.println("这是子包中的方法");
}
} /*以下是调用程序的内容*/
d.javaimport a.b.*;
class d{
public static void main(String args[]){
disp dsp = new disp();
}
}如果是这样写,则必然报错,无法access"disp"方法。
但是如果import a.b.disp;或者是在前面加一句package a.b;
就没问题。请问是为什么?
要求在A包中定义一个子包B,并在其中定义一个方法C,内容为显示“这是子包中的方法”这一句话。然后用一个程序去调用。可是我在后面一个程序里面定义的时候,怎么也不成功,而且错误很离奇。下面是我的代码。
/*以下是定义B包的语句*/
C.javapackage a.b;
class C{
public void disp(String args []){
System.out.println("这是子包中的方法");
}
} /*以下是调用程序的内容*/
d.javaimport a.b.*;
class d{
public static void main(String args[]){
disp dsp = new disp();
}
}如果是这样写,则必然报错,无法access"disp"方法。
但是如果import a.b.disp;或者是在前面加一句package a.b;
就没问题。请问是为什么?
解决方案 »
- 高手能解释下:Integer.parseInt(s) 和 Integer.valueOf(s)的区别?
- 随机数的
- 关于...的问题
- 根据源代码生成 类的依赖关系
- 问个序列化的问题
- 紧急求助:菜单的使用
- java在编译的时候怎样才可以象VB一样有提示的下拉菜单
- 老问题:连接sybase数据库异常,送100分!
- 表单提交的问题!请帮忙!
- "mybean.java": Warning #: 368 : class com.f1j.View in package com.f1j has been deprecated at line 19, column 20是什么错误?
- JAVA如何做游戏(100分)
- applet中类路径如何指定
应该是new C吧,没明白
首先,你没搞懂什么是类的实例化,disp dsp = new disp();这句的意思是实例化一个类名叫disp的类,但是你写的代码里哪里有disp这个类了?改成 C c = new C(); 还差不多其次,你也没弄明白怎么通过实例调用方法,在JAVA中除了静态方法外,都只能通过 实例.方法名来调用。在实例了一个c之后,可以通过c.disp(String args [])来打印出那一句话还有,既然只需要打印出写死的一句话,就没有必要传递一组字符串数组进去,可以把disp这个方法改成disp(),即无参无返回的一个方法
class d{
public static void main(String args[]){
C c = new C();
c.disp();
}
}