Java 基础 构造器

什么是构造器?

构造器是一个特殊的方法,其没有返回值,无法被abstract, final, native, static, 或者 synchronized修饰,构造器命名必须与类名相同。

构造器作用:

学习Java之初老师就教过,创建一个实体类一定要写他的空参构造,当时没有解释,现在想来答案在这里了(猜测)

创建类的实例,或者创建一个实例对象。

"this"的用法
构造器和方法使用关键字this有很大的区别。方法引用this指向正在执行方法的类的实例。静态方法不能使用this关键字,因为静态方法不属于类的实例,所以this也就没有什么东西去指向。构造器的this指向同一个类中,不同参数列表的另外一个构造器,我们看看下面的代码: 

public class Platypus { 

String name; 

Platypus(String input) { 
name = input; 


Platypus() { 
this("John/Mary Doe"); 


public static void main(String args[]) { 
Platypus p1 = new Platypus("digger"); 
Platypus p2 = new Platypus(); 

打印结果:

p1=digger

p2=John/Mary Doe

p1是创建对象时添加name名称

p2是使用this调用构造器初始化一个John/Mary Doe

super使用

class Mammal { 
void getBirthInfo() { 
System.out.println("born alive."); 



class Platypus extends Mammal { 
void getBirthInfo() { 
System.out.println("hatch from eggs"); 
System.out.print("a mammal normally is "); 
super.getBirthInfo(); 



在上面的例子中,使用super.getBirthInfo()去调用超类Mammal中被重载的方法。 

构造器使用super去调用超类中的构造器。而且这行代码必须放在第一行,否则编译将出错。看下面的例子: 

public class SuperClassDemo { 
SuperClassDemo() {} 


class Child extends SuperClassDemo { 
Child() { 
super(); 



在上面这个没有什么实际意义的例子中,构造器 Child()包含了 super,它的作用就是将超类中的构造器SuperClassDemo实例化,并加到 Child类中。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值