详解Java面向对象中的继承与多态?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<强> Java继承与多态的深入理解强>
<强> 1,,什么是继承,继承的特点?
强>
子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。
特点:在继承关系中,父类更通用,子类更具体。父类具有更一般的特征和行为,而子类除了具有父类的特征和行为,还具有一些自己特殊的特征和行为。
在继承关系中,父类和子类需要满足是一个的关系。子类是父类。
表示父类和子类的术语:父类和子类,超类和子类,基类和派生类,他们表示的是同一个意思。
<强> 2,,为什么需要继承?什么时候应该继承? 强>
使用继承可以有效实现代码复用,避免重复代码的出现。
当两个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它两个类继承这个父类。
继承实现了面向对象的原则:写> private String 名称; private String 性别; public xinxin1 (String 名字,String 性) { ,,,,,this.name=名称; ,,,,,this.sex=性; } ,,,,public void hello () { ,,,,,,,,,System.out.println(“嗨!我是“+名称+“我是”+性别+“孩”); ,,,,}
子类:
public xinxin2 (String 名称、String 性) { ,,,,,//调用父类的构造方法 ,,,,,超级(名字、性别); } public void  hello () { ,,,,,,,,,System.out.println(“我是新来的!”); ,,,,,//调用父类的方法 ,,,,,super.hello (); }
位置注意:调用父类的构造方法的语句(超语句)必须是构造方法中的第一条语句。
因为创建对象的时候,需要先创建父类对象,再创建子类对象。
注意:创建对象时,先创建父类对象,在创建子类对象。如果没有显示调用父类的构造方法,将自动调用父类的无参构造方法。
<强> 6,,一切类的老大(祖先)对象。强>
所有类都直接或者间接地继承了java . lang . Object类,对象类中定义了所有的java对象都具有的相同行为,是所有类的祖先。
一个类如果没有使用扩展关键字,那么这个类直接继承自对象类。
<强> 7,,什么是多态吗? 强>
多态的特征是表现出多种形态,具有多种实现方式,或者多态是具有表现多种形态的能力的特征。或者同一个实现接口,使用不同的实例而执行不同的操作。
<强> 8日,为什么需要使用多态?多态的好处? 强>
可以增强程序的可扩展性及可维护性,使代码更加简洁。
不但能减少编码的工作量,也能大大提高程序的可维护性及可扩展性。
<强> 9日,如何实现多态? 强>
一般做法是:写一个方法,它只接收父类作为参数,编写的代码只与父类打交道。调用这个方法时,实例化不同的子类对象(新一个对象)。
更具体的说:
(1),子类重写父类的方法。使子类具有不同的方法实现。
(2),把父类类型作为参数类型,该父类及其子类对象作为参数转入。
(3),运行时,根据实际创建的对象类型动态决定使用那个方法。
在运行时,java虚拟机会根据实际创建的对象类型决定使用那个方法。一般将这称为动态绑定只,
<强> 10,多态小结:强>
多态与继承,方法重写密切相关,我们在方法中接收父类类型作为参数,在方法实现中调用父类类型的各种方法。当把子类作为参数传递给这个方法时,java虚拟机会根据实际创建的对象类型,调用子类中相应的方法(存在方法重写时)。
关于详解java面向对象中的继承与多态问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。