JAVA在构造函数中 super()是什么意思, 如以下代码 解释一下
publicDept(Longdeptno,Stringdname,Stringloc,Setemps){super();this.deptno=deptno;this....
public Dept(Long deptno, String dname, String loc, Set emps) {
super();
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
this.emps = emps;
} 展开
super();
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
this.emps = emps;
} 展开
4个回答
展开全部
每个子类的构造函数都会默认调用父类的无参构造函数, super()写与不写一样;
想调用父类的有参构造函数就比需加super了 并且得加上参数 比如 父类有个public A(String name){ this.name = name}
子类写成super(new String("lilei"));
不管哪一种 super必须在子类构造函数的第一行
想调用父类的有参构造函数就比需加super了 并且得加上参数 比如 父类有个public A(String name){ this.name = name}
子类写成super(new String("lilei"));
不管哪一种 super必须在子类构造函数的第一行
追问
能 给我巧一个完整的代码我看一下吗 ? 我语文不太好
追答
class Base {
public Base(String aa){
System.out.println("父类有参构造函数" + " " + aa);
}
public Base(){
System.out.println("父类无参构造函数");
}
}
class Derived extends Base {
public Derived(String name){
// super();//可写可不写
}
public Derived(){
super(new String("子类调用父类有参构造函数"));
}
}
public class Test{
public static void main(String[] args) {
Base b = new Derived("lilei");
Base bb = new Derived();
}
}
展开全部
super 表示父类
构造方法里面的super有个特殊意义,就是调用父类的构造方法,而且,必须放在方法体的第一行
你这个super 调用的是父类的无参构造器
构造方法里面的super有个特殊意义,就是调用父类的构造方法,而且,必须放在方法体的第一行
你这个super 调用的是父类的无参构造器
更多追问追答
追问
能说明白一点吗?
追答
super可以调用父类的方法.如super.test(); 这个test方法是父类提供的
意义在于区别:如果你本类也实现了test方法,为了区别,this.test()表示本类,super()表示父类
如果本类没有实现test.则直接使用test()也行.
在构造器里面的super表示条用父类的构造方法,这一样代码,必须在第一行写,否则编译不通过.
基本上也就这么多了,如果再不明白,你就先越过这个知识点吧,等你学多了,回头再看,差不多就可以明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代表当前实例的父类
追问
我的这个是pojo 里面的 当前父类是?
追答
没有继承,就是默认的:Object
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询