JavaNote-继承特别篇
来源:互联网 发布:暴走漫画淘宝旗舰店 编辑:程序博客网 时间:2024/04/18 20:35
class Life{ public static void main(String[] args){ int alive; while(alive) { eat(); sleep(); code(); repeat(); } }}
老人说,这不丢脸,也无损真正的骄傲.
首先,在这里作一个小小的声明,此篇博客只是写给那些小白(我自己也是小白)我遇到过的一个问题,大佬们如果发现了问题,请点点你的小手指纠正一下错误,谢谢~
一.什么是属性?
有兴趣的同学可以百度一下,有的答案是属性,就是字段,也就是上面的private String a。
事实上大家都知道不是。
那么属性是什么呢?用简单的话来说就是可读、可写。
//此时的a才能被称为属性,而不是百度说的那样。public String getA() { // 获取属性a(可读) return a; }public void setA(String a) { //设置属性a(可写) this.a = a;}
二.继承中的小问题
一言不合上代码
class AAA{ private String a; // 成员变量 private String b; public String getA() { // 获取属性a return a; } public void setA(String a) { this.a = a; }}class BBB extends AAA{ public String getSuperA(){ return super.getA(); }}public class ExtendsDemo { public static void main(String[] args) { AAA a = new AAA(); BBB b = new BBB(); b.setA("b-a"); System.out.println(b.getA()); // b-a System.out.println(a.getA()); // null System.out.println(b.getSuperA()); // b-a }}
很简单的一段代码,一个BBB类继承了AAA类,BBB类有一个getSuperA的方法(伏笔),b.getA(),a.getA()的运行结果,相信大家都能够知道。
问题在于 b.getSuperA() ,BBB类中的super.getA()到底是什么?
其实解决这个问题只需要解决BBB类中的super到底是怎么回事。
想知道super到底是什么,看以下代码:
class AAA{ private String a; // 成员变量 public String getA() { // 获取属性a return a; } public void setA(String a) { this.a = a; }}class BBB extends AAA{ public String getSuperA(){ return super.getA(); } public void getThis(){ System.out.println(this.toString()); } public void getSuper(){ System.out.println(super.toString()); }}public class ExtendsDemo { public static void main(String[] args) { AAA a = new AAA(); BBB b = new BBB(); b.setA("b-a"); System.out.println(b.getA()); // b-a System.out.println(a.getA()); // null System.out.println(b.getSuperA()); // b-a b.getHash(); // this b.getSuperHash(); // super }}
那么BBB类中的this,super 到底是什么呢?
也不知道有没有同学感到惊讶,我之前一直以为BBB类的super就是AAA类,其实不然,BBB类的super就是BBB类,它只不过通过父类的构造器继承了一些方法,所以b.getSuperA()结果也就是b-a了。
接下来的这些话是个人的理解,大家看看就好,如果有错,希望能够被指出。
我们假想一下,B继承了A,new 出来的B的内存空间里面有一块区域装的是通过super()接收下来的一些方法或者其他,调用super.A 其实是在操作B内存里面的数据,和父类A没有任何关系,从来没有new一个super(A)区域
与一位美丽的程序媛的聊天记录
真的,现在在一些论坛或者交流平台请教问题,很难,很被人瞧不起。请教一个问题,大佬们都是反问句。像这位我把她贴出来真的是源于感动,可能大家都不知道她是谁,可是谁在乎呢,她能代表的就是情怀。她也给我好好的上了一课,比如:Java里面是否有指针?我说的是有。她说,回答有,没错。回答没有,不全对,因为Java里面管指针叫做引用,就和管函数为方法一样,其实是一个道理,叫法不一样。以后如果别人问我这个问题,我会作以下回答:“没有,可 Java里面有引用,和指针一样。”最后说一句,希望大家不管技术的高低,都能够 “不忘初心,心怀敬畏之心,着眼于语言以外的地方。”
CNcots CN Caprice of the stone的简写, 译为石头的随想曲.
博客中有网上摘抄的资料. 有个人的一些小心得 ,有什么不对的地方, 还请各位观客老爷们指出.
JavaNote系列博客, 纯属个人学习时间段整理的一些笔记, 会坚持每周至少一更,多多关照.
- JavaNote-继承特别篇
- JAVANOTE
- javaNote
- JavaNote
- JavaNote
- 通讯协议特别篇
- MyBatis之特别篇
- java多态继承中需要特别注意的点
- 特别篇-SetWindowExtEx,SetViewportExtEx解析
- 【特别篇】NOIP2017划水记
- 210学习日记_特别篇
- IT也疯狂:十一长假特别篇
- 特别篇_搭建eclipse服务器_141017
- 自制操作系统---eposide 3 (特别篇)
- 特别篇-GDI映射模式SetWindowOrgEx,SetViewportOrgEx
- 继承篇
- [特别篇] 评中国药学家距诺贝尔奖一步之遥
- ZendFramework学习(特别篇之自我调整!)
- Queue中offer/add,poll/remove,peek/element区别
- CyclicBarrier 栅栏的使用
- SpringMVC的REST风格开发
- 搭建Docker Swarm集群实战(三)(swarm mode)
- HDU
- JavaNote-继承特别篇
- 洛谷P1282 多米诺骨牌
- Harmonic Number LightOJ
- 多线程的问题
- 033 导数总结
- mysql 5.7中关于count(*)的优化
- win10 电脑u盘读不出来怎么办
- Java知识---数组
- Java异常详解