欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-07 22:41:21
...

对象转型

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

Animal ani = new Animal();
Cat  Tomcat = new Cat ();
ani  = Tomcat;

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

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

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

Animal ani = new Animal();
Cat  Tomcat = new Cat ();
Dog  wangwang = new Dog();
ani  = wangwang;
Tomcat=(Cat)ani;

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

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

方法的重写:

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

多态:

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

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

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

super关键字:

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

Object是与所有类的父类

toString方法:

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

final

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

abstract 抽象类

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

相关标签: 面向对象编程