关于java的一些理解
程序员文章站
2024-02-09 18:10:16
...
虽然经常在csdn上逛,却没有写过博客,没过多久就给忘了,正所谓好记性不如烂笔头,java基础一直不怎么好,很多地方都不怎么理解,今天重新温习下,扫下以前的盲点,正好做下笔记,给大家分享下,写的不好,请见谅,有什么不对的地方也请大家指出。
1. 关于this跟super
this:是当前类的对象引用,当成员变量跟局部变量同名时会用到
public class Single {
int num = 10 ;
public void setNum(int num) {
this.num = num;
}
}
super:代表父类的内存空间的标识,当子父类的成员变量同名是用到
public class Single {
int num = 10 ;
}
class smallSingle extends Single{
int num = 5;
void show() {
System.out.println(this.num+"..."+super.num);
}
}
2,向上转型跟向下转型
向上转型:Fu f = new Zi();
向上转型就是父类引用指象子类对象
向下转型:Zi z = (Zi)f ;
向下转型就是父类对象转为子类对象
注意:
比如 Fu f = new Fu();
Zi z = (Zi)f //子类引用不能指向父类
向上转型和向下转型都是很重要的,可能我们平时见向上转型多一点,向上转型也比较好理解。 那么,向下转型到底有什么用呢?
说白了,就是向上转型会丢失子类特有方法,子类继承父类,父类能拥有子类相同方法,却得不到子类自己的方法
这往篇博客对向下转型的意义讲的挺详细的,也比较容易懂。
http://blog.csdn.net/xyh269/article/details/52231944