作者MephistoH (默非斯托)
看板java
标题Re: [问题] 请问extend和import的不同
时间Sun Oct 4 02:37:32 2009
※ 引述《s66449 (闲泡菜)》之铭言:
: 请问一下 我还是不太懂这两种的差别
: 我知道观念和写法会完全不ㄧ样
: 会这样想是因为
: import进来的类别 我们就可以使用该类别的属性和方法
: 而extend也是继承之後 就也可以使用父类别的属性和方法
: 所以我这样想是不是有什麽观念不对啊??
简单的讲... improt java.math.*;
你就可以 new BigDecimal(1);
但如果没import的话
你就要 new java.math.BigDecimal(1);
那个import 只是帮你省略前面那些很长的资料夹名称
跟extend毫无关系
import进来的类别 就可以使用该类别的属性和方法
方法是 public static 才可以这样用
当然属性也是
这边有一点的是...如果在同一个package下的class, 不用import也可以用
有个例子给你参考
你把以下程式码分存两个class
放在同一个资料夹下, 编译看看
public class test {
public static void main(String[] args) {
try{
System.out.println(test2.g());
System.out.println(test2.x);
System.out.println(test2.y);
System.out.println(test2.gg());
}
catch (Exception e){
e.printStackTrace();
}
}
public class test2 {
public static int x=1;
public int y=2;
public static int g(){
return 3;
}
public int gg(){
return 5;
}
}
编译後会出现下列错误
Exception in thread "main" java.lang.Error: 尚未解决的编译问题:
无法制作非 static 栏位 test2.y 的 static 参照
无法从 test2 类型 Static 参照非 Static 方法 gg()
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.205.153
※ 编辑: MephistoH 来自: 123.204.205.153 (10/04 02:38)
※ 编辑: MephistoH 来自: 123.204.205.153 (10/04 02:44)
1F:推 etman395:外包import进来 protected属性也可以用 只要是继承关系 10/04 04:08