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

来源:互联网 发布:淘宝网店创业计划书 编辑:程序博客网 时间:2024/04/30 20:30
------- <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())
 
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁小儿特别懒怎么办 17的孩子很懒怎么办 上大班的孩子不愿写字怎么办 快上中班的小朋友不爱学习怎么办 小学生两边肩膀不平应该怎么办 写字右肩膀疼是怎么办 开车久了肩膀疼怎么办 3岁宝宝撕书怎么办 孩子上幼儿园不爱写字怎么办 一年级小孩不爱做作业怎么办 小孩不愿多做作业怎么办 小孩一年级不自觉做作业怎么办 小孩会读不会写怎么办 好多字都不会写怎么办 写作业怎么办才能写快 五周宝宝爱玩不写字怎么办 爱玩手机的小孩怎么办? 一年级学生记不住生字怎么办 一年级小孩记不住生字怎么办 配镜度数高了怎么办 宝宝两岁半不肯坐马桶拉臭臭怎么办 儿子字写得不好 怎么办 小孩不听话不爱读书和写字怎么办 两岁宝宝不愿意穿衣服怎么办 做题粗心不认真怎么办 5岁宝宝不会写字怎么办 四岁宝宝不会写字怎么办 4岁宝宝不写字怎么办 四岁宝宝不写字怎么办 孩子学习粗心计算能力差怎么办 一年级的小朋友不爱看书怎么办 马上要生了害怕怎么办 孩子做题不爱读题怎么办 孩子作业写的慢怎么办 孩子学习不好怎么办我们有绝招 英语不会做题怎么办呢? 小学二年级孩子厌学怎么办 狗狗拉肚子不吃东西怎么办 小孩做作业时容易发呆怎么办 一上高速就犯困怎么办 孩子初中数学学不好怎么办