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的主要内容,如果未能解决你的问题,请参考以下文章