黑马程序员 面向对象 多态 需求 object

原创 2015年07月10日 08:33:47
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
               
1、多态:事物存在的多种体现形态

2、1)多态的体现
        父类的引用指向了自己的子类对象
   2)多态的前提
        必须是类与类之间有关系,要么继承,要么实现
        通常还有一个前提:存在覆盖。
   3)多态的好处
        多态的出现大大的提高程序的扩展性
   4)多态的弊端
        提高了扩展性,但是只能使用父类的引用访问父类中的成员
   5)多态的应用

   6)多态的出现代码中的特点(多态使用的注意事项)

3、 总-分-调用分
abstract class animal
{
        abstract void eat();
}
---
class cat extends animal
{
        //重写
        public void eat()
        {
                System.out.println("吃鱼");
        }
        //其他方法
        public void catchMouse(){}
}
---
public static void function(animal a){}//animal a=new cat();
...
class
{
        public static void main(String[] args)
        {
                //function(new cat());
                animal c=new cat();//应用数据类型提升,向上转型
                c.eat();
                //如果想要调用猫的特有方法时,如何操作
                //cat c1=new cat();这样就有创建了一个新的对象,增加的内存、

同时逻辑上可能出现差错
                //强制将父类的引用,转成子类类型
                cat c=(cat)c;//向下转型
                c.catchMouse();
               
                //千万不要出现这样的操作:animal c=new animal();cat c=

(cat)c;这是错误操作
        }
}



4、注:我们能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可

以被强制转换。
    多态至始至终都是子类对象在做着变化

5、classCartException类型转换异常

判断引用类型是否正确
public void function(animal a)
{
        if(a instanceof cat){}
        else if(a instanceof dog){}
        ...
}

6、(常见)在多态中成员函数的特点:
        在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译

通过,如果没有编译失败。
        在运行时期:参阅对象所属的类中是否有调用的方法。
        简单总结:成员函数在多态调用时,编译看左边,运行看右边

7、(面试)在多态中,成员变量的特点:
        无论编译和运行,都参考左边(引用型变量所属的类)

class fu
{
int num=5;
}
class zi extends fu
{
int num=8;
}
fu f=new zi();
zi z=new zi();
s.o.p(f.num);//5
s.o.p(z.num);//8

        2)在多态中,静态(static)成员函数的特点:
          无论编译和运行,都参考左边。

8、需求:
        1)电脑运行实例:基于主板。
        2)数据库的操作:连接、操作(CRUD create read update delete)、关闭
       
   接口:降低了程序耦合性
   多态:增加的程序的扩展性

9、Object
    equals():比较的是地址

        如果自定义类中也有比较相同的功能,没有必要重新定义。
        只要沿袭父类中的功能,建立自己特有比较内容即可,这就是覆盖。

    .toString()相当于.getName+"@"+Integer.toHexString(hashcode())
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

黑马程序员——第8天——(面向对象)多态,Object类

/* 多态:可以理解为事物存在的多种体现形态。 人:男人,女人 动物:猫,狗。 猫 x = new 猫(); 动物 x = new 动物(); 1,多态的体现 父类的引用指向了自己...

『黑马程序员』---java--面向对象--多态+Object篇

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 多态,是面向对象中的一大特点.其,在继承的基础上产生,就是使java世界中的...

黑马程序员_day08 面向对象(多态,object类和equals()和toString())

---------------------- android培训、java培训 期待与您交流! ---------------------- 一:多态。  1,定义:某一类事物的多种存在形态。 ...

黑马程序员--------java面向对象 继承、接口、多态、Object类

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------                         ...

黑马程序员——java第八天:面向对象(多态、Object-equals&-toString)

------- android培训、java培训、期待与您交流! ----------  多态: 定义:某一类事物的多种存在形态。 例:动物中猫,狗。 猫这个对象对应的类型是猫类型 猫x = new...

黑马程序员_Java基础_面向对象(多态、Object类相关方法)

------- android培训、java培训、期待与您交流! ----------   一、面向对象(多态) 可以理解为事物存在的多种体现形态。   人:男人,女人 动物:猫,狗。 猫 x=n...

黑马程序员java学习笔记——面向对象的特征封装、继承和多态

感觉面向对象是在java中比较难的内容,但也是核心内容,毕竟写代码思想是很重要的,面向对象就是一种思想,精通这种思想,编程就会变的简单。下面就是我学完面向对象这一部分做的笔记。     面向对象   ...

黑马程序员——java基础——面向对象的多态

android培训、java培训期待与您交流! 因为多态的应用比较多所以整理一下我对多态的学习。 多态:同一个对象(事物),在不同时刻体现出来的不同状态。 举例: 猫是猫,猫也是动物的子类。 ...

黑马程序员面试题面向对象二(多态,抽象类abstract,接口Interface,内部类,异常Exception,包package,String类,StringBuffer)

--------- android培训、java培训、期待与您交流!--------- 一.多态 1.多态的概念 (1) 多态:可以理解为事物存在的多种体现形态。 (2)多态的...

黑马程序员——面向对象(多态与抽象类)

-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)