|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
8.5.3多态性
多态性是面向对象手艺中最天真的特征,次要是加强项目标可扩大性,进步代码的可保护性。
多态性依附承继特征,能够把多态了解为承继性的扩大大概深切。
在这里把多态性分为两方面来举行先容,对象范例的多态和对象办法的多态。
为了便利后续的解说,起首给出一个承继布局的示例。
//文件名:SuperClass.java
publicclassSuperClass{
publicvoidtest(){
System.out.println(“SuperClass”);
}
}
//文件名:SubbClass1.java
publicclassSubbClass1extendsSuperClass{
publicvoidtest(){
System.out.println(“SubbClass1”);
}
}
//文件名:SubbClass2.java
publicclassSubbClass2extendsSuperClass{
publicvoidtest(){
System.out.println(“SubbClass2”);
}
}
在该示例代码中,SubbClass1和SubbClass2是SuperClass的子类,而且在子类的外部都掩盖父类中的test办法。因为这三个类中都誊写机关办法,则依照默许机关办法的商定,每一个类中城市被主动增加一个默许的机关办法。
8.5.3.1对象范例的多态
对象范例的多态是指声明对象的范例不是对象的真正范例,而对象的真正范例由创立对象时挪用的机关办法举行决意。破例,依照承继性的申明,子类的对象也是父类范例的对象,能够举行间接赋值。
比方以下代码:
SuperClasssc=newSubbClass1();
这里声了然一个SuperClass范例的对象sc,然后利用SuperClass的子类SubbClass1的机关办法举行创立,由于子类范例的对象也是父类范例的对象,以是创立出来的对象能够间接赋值给父类范例的对象sc。除对象的赋值之外,别的一个更主要的常识是sc对象固然利用SuperClass声明的范例,可是外部存储的倒是SubbClass1范例的对象。这个能够Java言语的中instanceof运算符举行判别。
<p>
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 |
|