A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

super和this关键字可不可以同时存在同一个构造方法中?

17 个回复

倒序浏览
不可以,他们俩在构造函数中是:有你没我,有我没你的关系!   都在抢第一行的位置!
回复 使用道具 举报
这个不行吗?为什么?
回复 使用道具 举报
不行 我给你遍了一段程序 你运行一下
class Public
{
       
}  
class Zi extends Public
{
        //public Zi (){}

        public Zi(String s, int a){
                this();
                super();
        }
}
class TestPublic {
        public static void main(String[] args)
        {
                System.out.println();
        }
}
回复 使用道具 举报
只有一个第一行,所以不可以
回复 使用道具 举报
当然不可以
回复 使用道具 举报
谢谢各位大神,已经很清楚了
回复 使用道具 举报
Etby 中级黑马 2015-3-23 02:18:08
8#
肯定可以的 一直是在一起的只不过父类构造要在前面
回复 使用道具 举报
涨姿势了。。
回复 使用道具 举报
不可以,因为super()或this()如果出现在构造方法里,都要放在构造方法的第一行,产生矛盾。
回复 使用道具 举报
不可以。
回复 使用道具 举报
这个老师刚讲过,不能同时存在
回复 使用道具 举报
可以,super是访问父类构造方法   
例如:
public class Akk {
        public static void main(String[] args) {
                App p = new App("小红",19);
        System.out.println("我的名字是:" + p.getName() + " , 我今年:" + p.getAge() + "了");
        }
}
class Add {
        private String name;
       
        public Add(){}
        public Add(String name){
        this.name = name;
        }

        public void setName(String name){
        this.name = name;
        }
        public String getName(){
        return name;
        }
}
class App extends Add {
        private int age;
        public App(){}
        public App (String name,int age){
        super(name);
        this.age = age;
        }
        public void setAge(int age){
        this.age = age;
        }
        public int getAge(){
        return age;
        }
}
回复 使用道具 举报
不可以啊
回复 使用道具 举报
不可以啊
回复 使用道具 举报
不可以.
回复 使用道具 举报
我咋南岸安娜
回复 使用道具 举报
不能同时存在
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马