黑马程序员_java_面向对象_多态
来源:互联网 发布:孙楠 知乎 编辑:程序博客网 时间:2024/06/05 18:08
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------多态:事物的多种体现形态。
1,多态的体现:匪类的引用指向了自己的子类对象,父类的引用也可以接受自己的子类对象。
2,多态的前提: 必须类与类有关系,继承或者实现。
3,多态的好处:提高了扩展性,但是只能用父类的引用访问父类中的成员
多态在非静态成员函数特点:
在编译时期,参阅引用变量所属类是否有调用方法,如果有,编译通过,没有,编译失败。
在运行时期, 参阅对象所属的类中是否有调用方法。
简单就是说:函数在多态调用时,编译看左边,运行看右边。
在多态中,静态成员,静态函数:无论编译和运行,都参考左边(引用型变量所属的类)。
在编译时期,参阅引用变量所属类是否有调用方法,如果有,编译通过,没有,编译失败。
在运行时期, 参阅对象所属的类中是否有调用方法。
简单就是说:函数在多态调用时,编译看左边,运行看右边。
在多态中,静态成员,静态函数:无论编译和运行,都参考左边(引用型变量所属的类)。
abstract class Student{
public abstract void study();
public void sleep(){
System.out.println("天天睡觉");
}
}
public abstract void study();
public void sleep(){
System.out.println("天天睡觉");
}
}
class DoStudent{
public void do(Student s){
s.study();
s.sleep();
}
}
public void do(Student s){
s.study();
s.sleep();
}
}
class BaseStudent extends Student{
public void study(){
System.out.println("bese study");
}
}
class AdvStudent extends Student{
public void study(){
System.out.println("adv study");
}
public void sleep(){
System.out.println("夜夜睡觉");
}
}
public void study(){
System.out.println("adv study");
}
public void sleep(){
System.out.println("夜夜睡觉");
}
}
public class Test{
public static void main(String args []){
DoStudent ds = new DoStudent();
ds.do(new BaseStudent());
ds.do(new AdvStudent());
}
}
public static void main(String args []){
DoStudent ds = new DoStudent();
ds.do(new BaseStudent());
ds.do(new AdvStudent());
}
}
0 0
- 黑马程序员_java_面向对象_多态
- 黑马程序员_java_面向对象_继承
- 黑马程序员_java_面向对象_异常
- 黑马程序员_java_面向对象
- 黑马程序员_java_面向对象
- 黑马程序员_java_面向对象_异常处理
- 黑马程序员_java_基础_面向对象01
- 黑马程序员_JAVA_面向对象(一)
- 黑马程序员_JAVA_面向对象(二)
- 黑马程序员_JAVA_面向对象(三)
- 黑马程序员_JAVA_面向对象(一)
- 黑马程序员_JAVA_面向对象(二)
- 黑马程序员_JAVA_面向对象(三)
- 黑马程序员_JAVA_面向对象(四)
- 黑马程序员_java_面向对象总结
- 黑马程序员_面向对象_多态
- 黑马程序员_面向对象--继承、多态
- 黑马程序员_<<面向对象(多态)---03>>
- selenium framework issues met in window 7 + OS X86 64bit system
- HDU1092
- Objective-C 基础集合类
- MSI中断
- 22、枚举
- 黑马程序员_java_面向对象_多态
- 让自己规律起来
- DataTable行转列
- Android应用在不同版本间兼容性处理 .
- MFC中自由使用自定义消息
- 23、注解
- DirectShow 录制视频时,如何在视频上画线和输出文字
- sql面试题详解3
- PHP This! A Beginners Guide To Learning Object Oriented PHP