java 子类是如何调用抽象父类中的方法的 父类既然不能实例化 是怎么调用的?

不知所措ii 发布于 2015/01/07 15:20
阅读 6K+
收藏 2
请各位大神描述详细点!小弟感谢了!
加载中
1
Powerty
Powerty
多看点书吧,这是基础知识呀
不知所措ii
不知所措ii
我的意思是 子类是如何调用到父类不是抽象的方法的 既然父类不是抽象类 就不能实例化 既然不能实例化怎么可以调用?
0
君枫
君枫
子类继承了父类所有,可以调用protected以及以上的方法和属性,基础打牢
不知所措ii
不知所措ii
我的意思是 子类是如何调用到父类不是抽象的方法的 既然父类不是抽象类 就不能实例化 既然不能实例化怎么可以调用?
0
纠结名字
// 请问楼主如何解释以下代码,尼玛我竟然是用接口实例化对象了!
Map<String, Object> map = new HashMap<String, Object>();
List<String> list = new ArrayList<String();
Sharp sharp = new Circle();
keyganker
keyganker
真坏!
0
将将将
将将将

public abstract class Ab{

    public void a(){

}

}

public class Impl extends ab{

}

public class Test{

public static void main(String [] args){

    Ab ab = new Impl ();

    ab.a()

}

}

不知所措ii
不知所措ii
我的意思是 子类是如何调用到父类不是抽象的方法的 既然父类不是抽象类 就不能实例化 既然不能实例化怎么可以调用?
0
jince
jince
子类继承父类,可以继承它除private外的所有方法和变量, 如果父类中某一方法是抽象方法,子类可以重写实现,调用,如果不是抽象的,可以直接使用。
jince
jince
回复 @不知所措ii : 你看看源码就能理解,子类继承后,直接使用父类的方法和变量,连定义都不用
不知所措ii
不知所措ii
我的意思是 子类是如何调用到父类不是抽象的方法的 既然父类不是抽象类 就不能实例化 既然不能实例化怎么可以调用?
0
xuegao521
xuegao521

少年,首先对你 复制粘贴的行为表示不齿。其次在回答你的问题

抽象类不能被实例化是肯定的。(修改一下, 抽象类是不能被自身实例化的,但是可以被子类实例化)

建议去了解一下 类实例化的过程。

当你实例化子类的时候, JVM会先去调用父类的构造函数, 即使是 抽象类,然后才回去调用自身的构造。 

所以 子类调用抽象父类的方法就不稀奇了

0
吾同树
吾同树
哥哥真是看你评论想笑~~
0
将将将
将将将

引用来自“回去不啊”的评论

public abstract class Ab{

    public void a(){

}

}

public class Impl extends ab{

}

public class Test{

public static void main(String [] args){

    Ab ab = new Impl ();

    ab.a()

}

}

public abstract class Ab{


    public void a(){


}


}


public class Impl extends Ab{


public void b(){
  super.a();
}


}


public class Test{


public static void main(String [] args){


    Impl im= new Impl ();


    im.b()


}


}
CherokeesYin
CherokeesYin
正解,楼上都没有这位提问者(“大神啊”)的意思
返回顶部
顶部