近几年随着科学技术的不断变革与发展,各种新技术的应用逐渐出现在我们的日常生活当中。大家对于java应该是不陌生的,它是使用非常广泛的编程软件。今天就来为大家介绍一下,java默认构造器和构造器继承,一起来看看吧。
1.默认构造器
新建一个类,不提供任何构造器,编译器会默认提供一个无参构造器,这就是为什么没定义任何构造器,却可以new某个对象(),代码如下所示:public class People
{}
以上这个People类,可以直接通过new People()来实例化。
2. 禁止对象被外部创建
如果不希望People在外部通过new People()来实例化,只需要将构造器定义为private,代码如下所示:public class People
{
private People()
{}
}
3.构造器重载
重载可以简单理解为:同个方法名,不同的参数列表。如果希望People能在外部通过new People()或new People("字符串")
来实例化,代码如下所示:public class People
{
//通过new People()调用
public People()
{}
//通过new People("字符串") 调用
public People(String str)
{}
}
4.构造器的继承
定义父类构造器,由于该构造器自定义了一个带参构造器,覆盖了默认的无参构造器,所以不能直接new SuperClass()调用了,除非再定义一个无参构造器,代码如下所示:/**
* 父类构造器
*/
public class SuperClass
{
/**
* 自定义带参构造器
*/
public SuperClass(String str)
{
System.out.println("父类的带参构造方法,参数为:" + str);
}
}
定义子类构造器,继承SuperClass,由于SuperClass没有无参构造器,所以必须在子类构造器中通过super("字符串")来调用,否则编译器会报错,代码如下所示:/**
* 子类构造器
*/
public class SubClass extends SuperClass
{
/**
* 无参构造器
*/
public SubClass()
{
//由于SuperClass没有无参构造器,所以必须在子类构造器中通过 super("字符串")来调用,否则编译器会报错。
//如果没定义该句,则编译器会默认调用 super()
super("");
}
/**
* 带参构造器
*/
public SubClass(String subStr)
{
//由于SuperClass没有无参构造器,所以必须在子类构造器中通过 super("字符串")来调用,否则编译器会报错。
//如果没定义该句,则编译器会默认调用 super()
super(subStr);
}
}
以上就是关于java默认构造器和构造器继承的主要内容了。并且用实际的代码为大家展示出来。如果你对java知识感兴趣,想要了解更多java实例,敬请关注奇Q工具网。
推荐阅读: