向上造型
来源:互联网 发布:吹雪霓裳淘宝上多少钱 编辑:程序博客网 时间:2024/04/27 17:10
package Inner;
public class A
{
public static void main(String[] args)
{
Father child = new Child();
child.func1();
}
}
class Father
{
public void func1()
{
func2();
{
System.out.println("AAA");
}
}
class Child extends Father
{
System.out.println("BBB");
{
System.out.println("CCC");
}
public class A
{
public static void main(String[] args)
{
Father child = new Child();
child.func1();
}
}
class Father
{
public void func1()
{
func2();
}
//这个func2是父类中的方法,因为子类中有重写这个方法
//所以在父类类型引用中调用的时候,该方法无效,调用的是子类中的func2方法。
public void func2(){
System.out.println("AAA");
}
}
class Child extends Father
{
//重载了父类中的方法func1
//由于父类中没有定义这个方法,所以它不能被父类类型的引用调用
public void func1(int i){
System.out.println("BBB");
}
//重写了父类中的func2方法,如果父类类型的引用中调用了func2这个方法,调用的一定是子类中的方法
public void func2(){
System.out.println("CCC");
}
}
要理解多态,首先要知道向上造型,即父类引用指向子类对象。
重写、重载和动态连接构成多态性。
java之所以有多态性是因为java中只能单继承。
//打印结果:CCC
对于多态,可以总结如下:
1、使用父类类型的引用指向子类对象。
2、该引用只能调用父类中定义的方法和变量(就是可以调用子类中重写了父类的方法,子类中其他方法则不能调用)
3、如果子类中重写了父类中的一个方法,则父类类型引用在调用这个方法的时候,一定是调用子类中(动态连接,动态调用)
4、变量不能被重写,重写只是针对方法,如果在子类中重写了父类的变量,在编译的时候会报错。
0 0
- 向上造型
- c++向上造型(upcast)
- Java 向上造型详解
- Upcating(向上造型)
- java中的向上造型
- 浅谈向上造型
- iava中的向上造型
- Java 多态,向上造型
- C++向上造型
- 继承,super,向上造型
- 22. 向上造型
- Java中的向上造型和向下造型
- C++ Upcast(向上造型)
- 关于向上造型的思考
- Java学习笔记--向上造型
- java内存管理、继承、和向上造型
- Day42、操作符重载、继承、向上造型
- java 上溯造型(向上转型)和动态绑定
- 【整理】HLS视频协议第一弹--centos下面配置ffmpeg,segmenter以适应hls切片需要
- ASP.NET Session类
- 什么是算法?
- AC自动机+状态压缩dp+BFS求最短路+hdu3247
- Android常用组件
- 向上造型
- dom4j练习中出现的错误。
- Hibernate4在开发当中的一些改变
- 电话号码翻译(华为上机试题8_31_3)
- 视频编解码学习笔记(一)
- CF 263div2 C. Appleman and Toastman
- Linux与JVM的内存关系分析
- C++数据结构算法(第一章)
- 【java】猜数字小游戏