JAVA基础8-面向对象3

Posted w944372441

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础8-面向对象3相关的知识,希望对你有一定的参考价值。

一.类的多态:父类的引用指向子类的对象

在同一个方法中, 参数的类型相同,但是由于运行的环境不同而表现出来的不同的形式。

例:Dog类继承了Animal类,则可以写成:Animal dog = new Dog();

二.对象转型

向上转型:是隐式转换,例如将猫类转换成动物类;

向下转型:是显示转换,例如将动物类转化成猫类,前提是这个动物指向猫;

三.instanceof 关键字

用来判断某个变量是否是一种类型;左边写变量,右边写类型,返回结果是boolean型;

父类的对象不能访问子类中特有的成员(成员变量, 成员方法),例如狗的子类中有摇尾巴,定义为动物类的狗是不能调用这个方法的,如果要访问需要将该狗显示转换;

四.抽象类(修饰符关键字abstract)

1.在一个类中, 某个方法不需要实现, 完全交给子类去实现, 这个方法需要被声明为抽象方法,花括号需要去掉。

2.含有抽象方法的类, 必须被声明为抽象类,抽象类可以没有抽象方法,即使没有抽象方法,也不能被实例化。

3.抽象类无法被实例化(无法使用new)。

4.抽象类的子类没有能力去实现父类的抽象方法的时候,自己也需要被声明为抽象类, 没有实现的方法声明为抽象方法,等待下一个子类去实现。

 作用:使用抽象类的方法实际是定义了一种规则,指向的子类都要去实现这个规则,在维护时只需要修改指向就可以。

五.接口类(关键字:interface 即替换掉了class)

1.接口是一种特殊的抽象类,只能定义方法;类可以实现接口,关键字 implements;接口可以继承接口,关键字 extends;

2.接口也是一种引用类型,例如学生类实现了歌手类接口,就可以创建一个歌手类引用指向学生类对象;

3.接口与抽象类的区别在于抽象类只能单继承,而接口可以同时被实现多个,用逗号隔开;

4.接口中的方法默认修饰符为public,接口中定义的成员变量整个实现类都可以访问,默认修饰符public static final;

5,实现类在实现接口时,如果该接口同时继承了父类接口,也需要实现该父类接口中的方法;

6.接口中的方法如果没有在实现类中全部实现,该类也要被声明为抽象类,即普通类需要全部实现;

7.当实现类同时实现多个接口时,需要避免接口中方法重名的情况;

六.

package:包 ,用来解决类名重名的现象;

import:引用 不同的包中的类引用时需要使用;

七.权限修饰符

作用范围如图:

技术分享图片

以上是关于JAVA基础8-面向对象3的主要内容,如果未能解决你的问题,请参考以下文章

Java基础--面向对象(上)

Java基础---面向对象

Java面向对象知识(上:基础篇)

Python学习8——面向对象

JAVA学习---面向对象基础

Java基础8---面向对象之多态抽象类接口