黑马程序员 面向对象 多态 需求 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())
 

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

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

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

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

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

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

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

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

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

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

黑马程序员 Java基础 面向对象:继承、final关键字、抽象类、模版方法模式、接口、多态、Object类

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------...

黑马程序员_面向对象第8天多态 object类

------- android培训、java培训、期待与您交流! ---------- 面向对象-多态 ------- android培训、ja...

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

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

黑马程序员——>第八天<面向对象(多态-Object类)>

-------android培训、java培训、期待与您交流-------   01面向对象(多态-概念) 定义:某一类事物的多种存在形态。  例:动物中猫,狗。  猫这个对象对应的类型是猫...

黑马程序员----Java基础之面向对象(封装 继承 多态)(二)

------- android培训、java培训、期待与您交流! --------- 抽象类
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员 面向对象 多态 需求 object
举报原因:
原因补充:

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