java学习第十天

继承概念

    java中通过一个类,来继承这个类的所有功能。JAVA中的每一个类继承与Object类,这个是默认的。创建一个类的时候自动继承Object。继承使用关键字extends。

extends实现继承

在子类的构造方法中直接通过super关键词,调用父类的构造方法,如果父类有多个构造器根据构造器参数列表来区分。子类的构造器中默认调用父类的无参构造器,不用手写。

如果父类和子类有共同的成员变量,访问父类成员变量可以通过super调用。super.name可以获取父类的名称。子类可以继承父类的所有public和protected成员(非静态成员--!静态成员不考虑继承问题),如果子类和父类在同一包下,它可以继承父类默认的访问权限成员。private成员不能被访问。

一个子类只能直接继承一个父类,一个父类可以被多个子类继承,继承可以存在多级继承。并且子类重写方法不能比父类拥有更小的权限。子类只能重写它可见的方法(指的是标记了static和final的方法不能被重写)。在重写过程中可以使用super关键字调用其超类的方法。

也可以通过super调用父类的方法。


多态

多态分为编译时多态和运行时多态。其中编译时多态也叫做静态多态。运行时多态为动态多态,通过动态绑定来实现(常说的多态)

静态多态:其实就是方法的重载,根据参数列表的不同来区分不同的参数(没有继承)。

动态多态:所谓动态多态就是指,引用在不同情况下,所表现出来的实际对象。


final修饰符

被final修饰符修饰的类不能被继承

被final修饰符修饰的方法不能被重新

被final修饰符修饰的不能被修改的

被final修饰符修饰的参数不能被修改


方法重载和方法重写的区别

修饰符    返回值类型    方法名(参数列表){方法体}

参数列表:数据类型    形参名.......

区别:两个方法不一样可以根据方法名和参数列表来判断

方法重载:方法名一样但参数列表不一样

方法重写:两个有联系的类当中的两个方法拥有相同的方法名和参数列表但是方法体不同。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容