Java学习8-我所了解的Java中super和this
super:只是指向编译器调用超类方法的一个特殊关键字,它不是一个对象引用,不能将super赋值给一个对象变量;
this:表示一个对象的引用,它指向正在执行方法的对象;
- super和this都能调用普通方法和构造函数,super在子类中还能调用父类非private成员变量;
- super和this调用构造器时,语句只能作为另一个构造器的第一条,所以不能同时出现super(参数),this(参数);
- this可以作为方法的隐式参数,这是Java默认的;
- 子类的构造函数中默认调用父类super(),但是如果父类没有无参构造,那么编译就会出错;
- 子类执行new操作时,执行父类的构造函数时出现的this代表是当前子类实例,此时父类也没有被实例化,只是Java的调用规则;
- super只能在成员方法和构造内使用,不能再静态代码块和静态方法内使用;
我觉得编程语言也好以前读书的时候也好,深入底层时,拼的是对基本概念的掌握和理解程度,所谓的一通百通我认为就是这个原因,
因此,不要光顾着学习新的技术,新的API,回头再温故下很有帮助,共勉。