继承—super
2021/5/3 18:26:53
本文主要是介绍继承—super,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Super
-
super会调用父类对象的应用,super()调用父类的方法;则是父类的构造啊只能出现在子类的方法或者构造方法中
-
在子类中使用构造方法的时候会先调用父类的构造方法,因为这里隐藏了一局super();
-
如果在子类中自己显示的定义了super();那必须要在第一行,否则就会报错
-
this();和super();不能一起用。
-
如果父类没有无参构造(父类写了有参构造且没有把无参构造显相的写出来)super();调用不来无参构造,而且子类无法无参构造
-
super只能在继承条件下才可以使用
This
-
this会调用当前类中的对象且一般都会使用this来调用当前类而不是不写,this()调用本类的方法
-
this无论有没有继承都可以使用
-
用this();调用自己的有参构造的时候也必须是第一行
package com.oo.oop.inherit; public class Life /*extends Object*/ { //public可以直接继承使用,而private私有的无法直接使用,依然需要get/set protected int time=10_0000_0000; public Life() { System.out.println("Life无参构造"); } public void print() { System.out.println("Life"); } }
package com.oo.oop.inherit; //子类继承父类就继承了父类的全部方法(前提是修饰符是public) public class Work extends Life{ private int time=1000_0000; public Work() { //隐藏代码:super();调用父类的无参构造 super();//调用父类的构造器,必须在子类的构造器的第一行 System.out.println("Work无参构造"); } public void second(int time){ System.out.println(time); System.out.println(this.time); System.out.println(super.time); } public void print() { System.out.println("Work"); } public void word(){ print(); this.print(); super.print(); } }
package com.oo; import com.oo.oop.inherit.Rest; import com.oo.oop.inherit.Work; // 一个项目应该只有一个main()方法 public class Application { public static void main(String[] args) { Work work = new Work(); //work.second(100000); //work.word(); } }
这篇关于继承—super的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?