關於父類含帶參構造的問題

lostking001 2016-09-25 10:03:23
public class Test2 {
public static void main(String[] args) {
A a=new B();
B b=new B();
}
}
class A{
int a;
A(int a){
System.out.println(a);
}
}
class B extends A{
static int b;
B() {
super(b);
System.out.println(b);
}
}
如圖,我想問一下,這裡new出來的是一個帶參構造new出來的嗎?我知道靜態是隨類的加載而加載,我只是覺得A a=new B();是帶參構造臺不可思議了。
...全文
250 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
KilSoul 2016-09-27
  • 打赏
  • 举报
回复
455554,debug就清楚了。
小灰狼 2016-09-27
  • 打赏
  • 举报
回复
建议楼主关掉大五码
wqc8994 2016-09-26
  • 打赏
  • 举报
回复
A a = new B().B是A的子類,子類對象強轉為父類對象。
sz_robin 2016-09-26
  • 打赏
  • 举报
回复
继承关系的构造方法。 1.没有写构造方法的默认为无参构造方法。 2.写了有参构造方法,默认的无参构造方法会被覆盖掉,除非同时定义了有参无参方法。
  • 打赏
  • 举报
回复
没看懂描述的意思
家里敷泥呀 2016-09-26
  • 打赏
  • 举报
回复
可以啊,new的是B又不是A。
lostking001 2016-09-26
  • 打赏
  • 举报
回复
反正關於構造方法我是越寫越糊塗了package cn.itcast.test; public class Test2 { public static void main(String[] args) { A a=new B(); B b=new B(5); A c=new B(5); B d=new B(); } } class A{ int a; A(int a){ this.a=a; System.out.println(a); } } class B extends A{ static int b=4; B(){ super(b); } B(int b){ super(b); System.out.println(b); } } 有人能把結果告訴我了再做回答嗎?說的話我都知道,但是不懂,什麼子類調用父類構造方法,指向父類對象等等
kahnyy5202015 2016-09-26
  • 打赏
  • 举报
回复
繁体字 看不懂啊。。原谅我。。

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧