Java URLConnection问题

来源:百度知道 编辑:UC知道 时间:2024/07/08 00:30:08
这个抽象类有个public abstract void connect()throws IOExcepion,抽象类中的抽象方法不是相当于C++中的声明的作用
也就是说connect()并没有具体实现代码,那么为什么还可以调用这个方法去连接url引用的资源,看几行代码:
URL url=new URL(参数);
URLConnection con=url.openConnection(); //构造URLConnection对象
con.connect(); //
(1)connect()不是抽象方法吗?方法并没有具体实现,调用它有什么作用?
(2)要用抽象类必须派生他的一个子类,然后才可以去实例化构造其对象。URLConnection不就是一个抽象类吗?他的子类在什么地方?子类的实例化呢?
望高手解答我的疑惑

我先给你写段代码.你看一下.

interface A
{
void a();
}
class B implements A
{
public void a()
{
}
public A getA()
{
return this;
}
}
public class Test2
{
public static void main(String[] args)
{
B b=new B();
A a=b.getA();
a.a();
}
}

看明白没?在main中.a就可以调用a()方法.

跟生命没有任何关系,C++中的声明是为了后面使用该方法,如果你直接在main上面定义方法,不用声明也可以

abstract是抽象类,就是规定好了,不可以有方法体的类,关声明p事,Java不用声明

还有你下面给的例子说明你没有面向对象的思想

首先你是如何得到con这个实力的,这个实力调用的connect方法是上述抽象方法还是继承来的,你要搞清楚,如果你用ide编程的话可以用ctrl加左键点击connection方法看看到底去哪个类里面了