问一个问题!关于SUPER();

yping2000 2005-05-15 12:41:03
public class login extends DataBase {
private String username; //登录用户名
private String passwd; //登录密码
private boolean isadmin; //是否管理员登录
private long userid=0; //用户ID号
public login() throws Exception{
super();
username = "";
passwd = "";
isadmin = false;
}

问下:上面的super()的意思?我可不可以去掉super();以后的代码该成如下呢: this.username=""; this.passwd="";
this.isadmin=false;

谢谢!!!

...全文
118 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skycncomp 2005-05-15
  • 打赏
  • 举报
回复
楼上两位正确。
foxty 2005-05-15
  • 打赏
  • 举报
回复
你继承了父类 DataBase
子类初试化的时候先调用父类的构造函数。如果不调用,可能父类的一些状态未能初试化。
rumlee 2005-05-15
  • 打赏
  • 举报
回复
super();的意思是执行父类的构造函数。
龙宜坡 2005-05-15
  • 打赏
  • 举报
回复
几位说的对!
yangbc 2005-05-15
  • 打赏
  • 举报
回复
默认构造方法的super()是可以省略的,但自定义的带参数的构造方法如果有调用必要是不能省略的
yping2000 2005-05-15
  • 打赏
  • 举报
回复
谢谢!~看了你们的解释很高兴!~~也理解了意思!~~
oklhy 2005-05-15
  • 打赏
  • 举报
回复
super()表明调用父类的不带参数的构造器。去掉完全没关系,因为构造器中如果没有this()语句,默认的第一条语句就是super()。

public login() throws Exception{
super();
username = "";
passwd = "";
isadmin = false;
}
login()方法中,可以直接使用成员变量,默认的情况就是this.username,this.passwd,this.isadmin。
所以你写不写this一样的。

62,614

社区成员

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

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