欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于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