社区
Java SE
帖子详情
请教:为什么在构造方法中不能一起使用this()和super这样,感谢
J_NeedForSpeed
2006-11-10 08:15:20
请教:为什么在构造方法中不能一起使用this()和super这样,感谢
...全文
514
10
打赏
收藏
请教:为什么在构造方法中不能一起使用this()和super这样,感谢
请教:为什么在构造方法中不能一起使用this()和super这样,感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
J_NeedForSpeed
2007-04-16
打赏
举报
回复
顶。
lanseliuying
2007-04-16
打赏
举报
回复
this出现在类的构造方法中,代表使用该构造方法所创建的对象。
子类不能继承父类的构造方法,因此,子类如果想使用父类的构造方法必须在子类的构造方法中使用关键字super 来表示,并且super必须是子类构造方法中的头一条语句。
yiyi2007
2007-04-16
打赏
举报
回复
package myTest;
public class Test12
{
/**
* @param args
*/
public static void main(String[] args)
{
T t1=new T(5);
T t2=new T(6);
System.out.println("t1.t="+t1.t);
System.out.println("t2.t="+t2.t);
System.out.println();
SubT st1 = new SubT(5,6);
SubT st2=new SubT();
System.out.println("st1.t="+st1.t);
System.out.println("st1.st="+st1.st);
System.out.println("st2.t="+st2.t);
System.out.println("st2.t="+st2.st);
}
}
class T{
int t;
T(int t){
this.t=t;
}
T(){
this(0);
}
}
class SubT extends T{
// int t;
int st;
SubT(int t,int st){
super(t);
this.st=st;
}
SubT(){
this(8,9);
}
}
运行结果是:
t1.t=5
t2.t=6
st1.t=0
st1.st=6
st2.t=0
st2.t=9
在SubT的构造方法中super和this就都用了。
如果在子类中注释的那句加上,
那运行结果就是:
t1.t=5
t2.t=6
st1.t=0
st1.st=6
st2.t=0
st2.t=9
这就说明了this只对当前类对象,而super是对父类对象
zhuyf333
2007-04-16
打赏
举报
回复
一起用有什么意义吗?
maco21
2007-04-16
打赏
举报
回复
mark
likgui
2007-04-16
打赏
举报
回复
关注
liujun999999
2007-04-16
打赏
举报
回复
把他们2个拉出去pk,谁赢了用谁
zhuzhen_2008
2006-11-11
打赏
举报
回复
this()或super()都必须写在构造函数的第一行,你怎么用两个
是这样的道理。
xun56789
2006-11-10
打赏
举报
回复
this()或super()都必须写在构造函数的第一行,你怎么用两个
fly2749
2006-11-10
打赏
举报
回复
今天刚看完教程,告诉你,不知说得对不对
因为this函数是调用当前类的函数,而super是调用父类的函数,倘若两个构造函数一样,调用完this函数后,调用当前类的函数,在被调用的函数中已有super函数了,所以那个另外的super函数没有什莫意义,只能这样说了
python无参
构造方法
_Java ——补充:
构造方法
super
()与
构造方法
无参 有参
构造方法
this()与
构造方法
...
参考文章:
构造方法
在new的时候自动执行。且只执行一次。new一次执行一次每个类都有
构造方法
,即使不写也有,编译时javac会自动检查类是否有
构造方法
,如果有,就执行,没有就自动添加一个如果父类有含参
构造方法
,则子类也必须添加含参
构造方法
如果父类没有含参
构造方法
,子类无需添加
构造方法
this在
构造方法
之间的应用
super
在
构造方法
中
的应用首先要明白
super
关键字的作用:1、
super
是调用父类的...
JavaSE学习总结(六)面向对象(
中
)代码块/继承/this和
super
/父类没有无参构造子类怎么办/方法重写/重写和重载的区别/final关键字/多态/多态成员访问特点/向上转型向下转型/孔子装爹
面向对象(
中
) 一、代码块 (一)代码块概述 在Java
中
,
使用
{}括起来的代码被称为代码块。 (二)代码块分类 根据其位置和声明的不同,可以分为局部代码块、构造代码块、静态代码块和同步代码块(多线程部分讲解)。 (三)常见代码块的应用 1.局部代码块 在方法
中
出现;限定变量生命周期,及早释放,提高内存利用率 2.构造代码块 在类
中
方法外出现;多个
构造方法
方法
中
相同的代码存放到
一起
,每次调用
构造方法
都执行,并且在
构造方法
前执行 3.静态代码块 在类
中
方法外出现,并加上static修饰;静态代码块用于给类进行
JavaSE学习总结(六)面向对象(
中
)代码块继承this和
super
父类没有无参构造子类怎么办方法重写重写和重载的区别final关键字多态多态成员访问特点向上转型向下转型孔子装爹
JavaSE学习总结(六)面向对象(
中
)代码块/继承/this和
super
/父类没有无参构造子类怎么办/方法重写/重写和重载的区别/final关键字/多态/多态成员访问特点/向上转型向下转型/孔子装爹
java构造器
super
_JAVA构造器、this、
super
构造器是为了创建一个类的实例。这个过程也可以在创建一个对象的时候用到:Platypusp1=newPlatypus();相反,方法的作用是为了执行java代码。修饰符,返回值和命名的不同构造器和方法在下面三个方便的区别:修饰符,返回值,命名。和方法一样,构造器可以有任何访问的修饰:public,protected,private或者没有修饰(通常被package和friendly调用...
super
的实现 java_java
中
如何
使用
super
在java编程
中
很多用户们都会不知道
使用
super
的方法,那么今天我们就带着疑问
一起
去看看java
中
如何
使用
super
的内容吧。昨天写this用法总结的时候,突然产生了一个问题,
请教
别人之后,有了自己的一点认识。还是把它写下来,为大家更好的认识提供一点思路。1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其
中
添加另一些自己新建属性的初始化,这样在一个构造函数
中
调用另外一个构造函数,可以避免...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章