j**a子类构造方法

时间:2013.12.03 发布人:luuo818o

j**a子类构造方法

已解决问题

谷歌luuo818o用户在2013.12.03提交了关于“我的世界j**a子类构造方法”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-08-16T07:41:50。请问在子类中super关键字的用法(详细些)
classPoint{//定义"点"类
//x轴坐标和y轴坐标,由于准备用于继承,故修饰为protected
protectedfloatmX,mY;
publicPoint(floatx,floaty){//构造方法
mX=x;
mY=y;
}
}
classCircleextendsPoint{//定义"圆"类继承于"点"类
protectedfloatmRadius;//半径
publicCircle(floatr){//构造方法
mRadius=r;
}
}
publicclassDemo{
publicstaticvoidmain(String[]args){
Circlec=newCircle(2.5f);//实例化"圆"类对象
}
}
本段程序为何报错希望大家能够帮助她。

详细问题描述及疑问:请问在子类中super关键字的用法(详细些)
classPoint{//定义"点"类
//x轴坐标和y轴坐标,由于准备用于继承,故修饰为protected
protectedfloatmX,mY;
publicPoint(floatx,floaty){//构造方法
mX=x;
mY=y;
}
}
classCircleextendsPoint{//定义"圆"类继承于"点"类
protectedfloatmRadius;//半径
publicCircle(floatr){//构造方法
mRadius=r;
}
}
publicclassDemo{
publicstaticvoidmain(String[]args){
Circlec=newCircle(2.5f);//实例化"圆"类对象
}
}
本段程序为何报错期待您的答案,我不知道说什么才好,除了谢谢 !

希望以下的回答,能够帮助你。

第1个回答

用户名:mbt4js61  

在内存机制中,父类和子类是占用同一块内存的,只不过子类在父类的基础上增加了自己的部士组降文分(属性)。子类是依附于院轮扬景夫注体父类的,先有父类再有子类。
一个子类对象的**生,必须先调用父类的构造方法待火厂述群扩率**生一个父类实例,然后在这个实例基础上添加自己的部分。

派生类构造方法的执行顺序“
使用this()来调用本类的边培运儿写陈土者大只专其他构造方法
使用八增决气混批增演选super()语句调用父类的构造方法
如**类的构造方法中没有使用super显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法,相当于super(),如果父类中没有无参的构造方法,则编译出错
super()或者this()必须在构造方法的第一行,只能有一句。