JAVA-面向对象(学习总结第二篇)

红太狼 2023-02-14 02:45 84阅读 0赞

对象转型

转型,也就是类型转换 。是指当引用类型和对象类型不一致的时候,才需要进行类型转换,类型转换有时候会成功,有时候会失败。

  1. Animal ani = new Animal();
  2. Cat Tomcat = new Cat ();
  3. ani = Tomcat;

右边Tomcat (汤姆猫)指向的对象类型是 宠物
左边cat 引用的是 动物
把汤姆猫当做是动物,是否可以说得通?说得通,就可以转。所有的子类转换成父类 都是说的通的。比如你身边的例子:

苹果手机 继承了 手机,把苹果手机当做普通手机使用。
怡宝纯净水 继承了 饮品, 把怡宝纯净水 当做饮品来使用。

父类转子类 ,有的时候行,有的时候不行,所以必须进行强制转换。
强制转换的意思就是 转换有风险,风险自担。

  1. Animal ani = new Animal();
  2. Cat Tomcat = new Cat ();
  3. Dog wangwang = new Dog();
  4. ani = wangwang;
  5. Tomcat=(Catani

把狗wangwang当做动物,是可以的。此时ani指向了wangwang的类Dog,那么最后一行 将ani转换成Cat就不行了,从语义上来讲,将狗Dog 当做是 猫 Cat是说不通的。所以这种情况下就不能转换。

instanceof A 判断一个引用所指向的对象,是否是A类型,或者是A的子类。返回值是布尔(true或flase)

方法的重写:

子类可以继承父类的对象方法
在继承后,重复提供该方法,就叫做方法的重写
又叫覆盖 override。(子类继承了父类的方法,但是又想在其基础上做出一点修改,此时就需要重写父类的方法,相当于覆盖了父类的方法)。

多态:

在这里插入图片描述

  1. 那么 动物A = new 猫;
  2. 动物B = new 狗;
  3. AB都是动物对象,但是分别指向猫和狗,
  4. 在调用AB的方法时,就会产生自动调用的情况,称之为多态。
  5. A.吃 = 吃鱼;
  6. B.吃 = 吃骨头;

一个父类有多个子类,当父类引用指向了子类对象,并且子类的方法有重写时,就会产生多态的现象。

super关键字:

  1. 1.调用父类的指定的构造方法:super(参数名);就能调用父类的构造方法。
  2. 2.调用父类的属性:super.属性名;
  3. 3.调用父类的方法:super.方法名;

Object是与所有类的父类

toString方法:

返回当前对象的字符串表达式

final

修饰一个类之后,就不能被继承;
修饰一个方法后,子类不能重写该方法

abstract 抽象类

用abstract修饰一个类,该类就是抽象类,抽象类中可以没有抽象方法
用abstract修饰一个方法,该方法就是抽象方法,抽象方法必须存在于抽象类中
子类必须重写父类的抽象方法(父类的抽象方法相当于一个半成品,子类重写将其补全)

发表评论

表情:
评论列表 (有 0 条评论,84人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java基础学习总结——面向对象

    一、面向过程的思想和面向对象的思想        面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什

    相关 面向对象第二单元总结

    一、作业设计策略 1.第一次作业 第一次作业是让我们做一个单部多线程傻瓜调度电梯的模拟,我是分成两个线程来处理,一个电梯线程,一个调度器线程。电梯线程并不知道自身所