java 多态奇怪现象,子类还没有构造完成就开始干活了,谁来帮我解释?
java代码:
package test.extend;
public class Base {
public Base(){
System.out.println("基类构造");
say();
}
public void say(){
System.out.println("我是基类");
}
public static void main(String[] args) {
Base base=new Child();
}
}
class Child extends Base{
public Child(){
System.out.println("子类构造");
say();
}
@Override
public void say(){
System.out.println("我是子类");
}
}
运行结果:
基类构造
我是子类子类构造
我是子类
在C#中:
public class BaseA
{
public BaseA()
{
Function();
} public virtual void Function()
{
Console.WriteLine("Base::Function");
}
} class ChildA :BaseA
{
public ChildA()
{
Function();
} public virtual void Function()
{
Console.WriteLine("Child::Function");
}
}
运行结果:
Base:Function
Child::Function
在C++中:
class BaseA
{
BaseA()
{
Function();
} virtual void Function()
{
cout<<"Base::Function";
cout<<endl;
}
} class ChildA : public BaseA
{
ChildA()
{
Function();
} virtual void Function()
{
cout<<"Child::Function";
cout<<endl;
}
} }
}
运行结果:
Base:Function
Child::Function
java 多态奇怪现象,子类还没有构造完成就开始干活了,谁来帮我解释?的更多相关文章
- Java 多态 父类和子类方法的访问控制权限
Java 多态 父类和子类方法的访问控制权限 @author ixenos 父类和子类方法的访问控制权限 继承是为了扩展类的功能,而这种扩展显然就是对一个原始类的扩展,目的还是向上转型来调用,所以这就 ...
- java 多态 ---父类调用子类方法
package test1;//多态的体现import javax.print.attribute.standard.RequestingUserName;import java.util.Scann ...
- Java多态-如何理解父类引用指向子类对象
java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是“向上转型”. 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过 Cat c = new ...
- Java多态 父类引用指向子类对象
Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 输出结果为: 给出结论:Father c = new Child() 在c的 ...
- 构建后端第6篇之---java 多态的本质 父类引用 指向子类实现
张艳涛写于2021-2-20 今天来个破例了,不用英文写了,今天在家里电脑写的工具不行,简单的说 主题是:java多态的原理与实现 结论是:java的多态 Father father= new Son ...
- C++和java多态的区别
C++和java多态的区别 分类: Java2015-06-04 21:38 2人阅读 评论(0) 收藏 举报 转载自:http://www.cnblogs.com/plmnko/archive ...
- C++与Java多态的区别
多态是指用父指针指向不同子类对象时,调用其共有的函数,不同的子类会有不同的行为.虽然C++和Java都具有多态机制,但是他们的实现不同,使用时的效果也会略有不同. 在C++中 普通函数调用:具体调用哪 ...
- 从JVM角度看Java多态
首先,明确一下,Java多态的三个必要条件: 1. 继承 2. 子类重写父类方法 3. 父类引用指向子类对象 然后看一个例子 package test.xing; class Father{ prot ...
- Java多线程系列——原子类的实现(CAS算法)
1.什么是CAS? CAS:Compare and Swap,即比较再交换. jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronou ...
随机推荐
- app的同源和域的问题
app的同源和域的问题
- Excel学习笔记
---恢复内容开始--- -----------随学随记----------- 获取当前日期: 获取当前系统时间,包含年月日时分秒: =NOW() 获取当前系统时间,包含年月日: =TODAY() 只 ...
- 那些年我们写过的T-SQL(中篇)
中篇的重点在于,在复杂情况下使用表表达式的查询,尤其是公用表表达式(CTE),也就是非常方便的WITH AS XXX的应用,在SQL代码,这种方式至少可以提高一倍的工作效率.此外开窗函数ROW_NUM ...
- 接触LLBL Gen Pro 对象关系映射框架后 前途变的一片光明
时间回到2010年,那时候还是熟悉代码生成+基础框架这种模式,基本的开发思路是通过代码生成器生成实体,再生成接口与实现类,最后拖拉控件,写界面数据绑定代码.基本上就是动软代码生成器给出的模式,或是微软 ...
- Sql Server系列:索引维护
1. DBCC SHOWCONTIG 显示指定表的数据和索引的碎片信息.当对表进行大量的修改或添加数据后,执行此语句可以查看有无碎片,显示指定的表或试图的数据和索引的碎片信息. 其语法格式: DBCC ...
- android 手机开启debug日志
来自 http://blog.csdn.net/aikongmeng/article/details/9764297 真机默认是不开启Log 开关的,这么来说我们如果使用真机来搞程序测试的话,需要做以 ...
- BOM之location对象
定义 location提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能.location是一个很特别的对象,因为它既是window对象的属性,也是document对象的属性.换句话说,wi ...
- 如何使用office2010插入屏幕截图
当我们习惯了用QQ的屏幕截图之后,当某一天我们在一台没有装QQ的办公电脑上,它装着office2010,我们可以实现用office来截图吗?其实Office2010深藏着犀利的截图工具. 插入图片到文 ...
- 数据库备份与还原SQL代码
--备份数据库 --必须先创建Backup文件夹 ) SET @name = 'D:\Backup\DingHanECard_V2_ZQGDJ_' ), ) + '.bak' BACKUP DATAB ...
- iOS滤镜实现之Nashville【instagram】
Nashville是Instagram众多滤镜中最惊艳的一款,独特的奶昔色调赋予照片童话般的唯美感觉.适用范围:营造浪漫唯美的感觉.的确如此啊有2张输入图像 顶点着色有2组坐标NSString *co ...