JavaSE8基础 子类构造函数中写super语句去显式指定父类的构造函数

os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)
    
    
代码:

/*
*默认是 子类的构造函数先去调用父类的无参构造函数,但是问题就来,如果父类没有无参构造函数怎么办?
*通过super去显式指定父类的构造函数
*/

//父类
class Father {

	//有参构造函数,int
	public Father(int num) {
		System.out.println("父类有参构造函数,int");
	}

	//有参构造函数,String
	public Father(String str) {
		System.out.println("父类有参构造函数,String");
	}
}

class Son extends Father {

	//子类无参构造函数
	public Son() {
		super(1);
		System.out.println("子类无参构造函数");
	}

	//子类有参构造函数
	public Son(int num) {
		super("hello");
		System.out.println("子类有参构造函数");
	}
}

class Demo {
	public static void main(String[] args) {
		Son s1 = new Son();
		System.out.println();

		Son s2 = new Son(1);
	}
}

结果:



Java优秀,值得学习。
学习资源:itcast视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
如果您觉得博文有可以改进的地方,留言即可。

时间: 2024-11-10 13:00:13

JavaSE8基础 子类构造函数中写super语句去显式指定父类的构造函数的相关文章

浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因

本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口, 先抛出问题:一个查询没有明确指定排序方式,那么,第二次执行这个同样的查询的时候,查询结果会不会与第一次的查询结果排序方式完全一样? 答案是不确定的,两个完全一样的查询,结果也完全一样,两次(多次)查询结果的排序方式有可能一致,有可能不一致. 如果不一致,又是什么原因导致同样的查询默认排序方式不一致? 以下简单分析几种情况,说明为什么查询同样的查询会出现默认排序结果不一样的情况.当然对

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'tb_MyInvoices' 中的标识列插入显式值

默认情况下,IDENTITY_INSER就是off 这种情况下,你写insert 语句时,identity栏位,不要写值,系统会自动帮你写入. 举例说明: create table #aa(id int identity(1,1),dt datetime,pay int) go insert into #aa(dt,pay)values('2012-4-12',100) --不能向 id栏位写值,系统会自动写 go insert into #aa(id,dt,pay)values(100,'20

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值。 sql server 临时表

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值.我是在SqlServer写存储过程中遇到的这个错误,当时就心想:临时表怎么会有主键呢,我也没有设置主键.然后我就和同事一块调试,终于发现了.原因就是我把真实的数据表中id(其实就是主键)取出来放到临时表(#TT)中,一开始是以为把主键的属性取出来了.后来又一起调试,发现不是那么回事,1.原来SqlServer会自动给临时表设置主键,如果你要插入数据的话,还要打开主键,这样你才能插入数据.“当 ID

当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值

{"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句  B:直接修改NHibernate中持久化类映射配置文件id节点 A数据库执行语句: 问题描述:当在数据库表主键设计为 (Orderid  int identity primary key),相对这个主键IDENTITY_INSERT默认设置为OFF,就是不能够显示插入主键id的值,例子如下: insert int

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值

问题描述:在SQL SERVER 2008中,向数据表中字段插入数据时,会报错,错误如下: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值. 解决方案: 1 --允许将显式值插入表的标识列中 ON-允许 OFF-不允许 2 set identity_insert OrderList ON--打开3 4 insert into OrderList(id,ordername,createdate) 5 values(4520,'set'

继承和动态内存分配——需要为继承类定义 显式析构函数、复制构造函数和赋值运算符

当派生类使用了new时,必须为派生了定义显式析构函数.复制构造函数和赋值运算符.(这里假设hasDMA类继承自baseDMA类)显式析构函数: baseDMA::~baseDMA() // takes care of baseDMA stuff { delete [] label; } hasDMA::~hasDMA() { delete [] style; } 复制构造函数: baseDMA::baseDMA(const baseDMA & rs) { label = new char[std

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_Shell' 中的标识列插入显式值。

--允许将显示值插入表的标识列中-ON:允许 OFF:不允许set identity_insert T_shell ONset identity_insert T_Shell OFF 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_Shell' 中的标识列插入显式值.

当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。

在创建事务复制时,很多时候不一定使用快照进行初始化,而是使用备份还原初始化.当对有标识列(即identity的自增列)的表进行复制的时候,使用备份还原初始化搭建起来的复制常常就会报错,即:当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值.这个错误是当创建表的时候,有一项’标识规范‘中的’不用于复制‘默认为‘否’,当发布端插入数据时导致,右键表,选择设计选项,如图 当使用备份还原进行初始化,订阅端的这张表该选项也是‘否’,因此就会报错.在不删除此复制的

JavaSE8基础 子类初始化时有 父子类分层初始化的特点

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) 代码: /* A:一个类的初始化过程 成员变量的初始化 默认初始化 显示初始化 构造方法初始化 B:子父类的初始化(分层初始化) 先进行父类初始化,然后进行子类初始化. */ class Test { public Test() { System.out.println("Test类初始化"); } } class Fa