JAVA面向对象四大基本特征:封装、抽象、继承、多态。
多态是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
Object obj = new xxx();
UserDao userDao = new UserDaoJdbcImpl();
UserDao userDao = new UserDaoHibernateImpl();
靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象,而程序调用的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。
JAVA 引用变量
首先,你要明白什么是变量。变量的实质是一小块内存单元。这一小块内存里存储着变量的值
比如int a = 1;
a就是变量的命名,1就是变量的值。
而当变量指向一个对象时,这个变量就被称为引用变量
比如A a =new A();
a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址。
如果学过C的话可以当做指针看,虽然实际上和指针不一样,但是概念上当JAVA里的指针也不是不行。
呀呀呀,上图
以上个人见解,还望多多指正!!!



