shell java 构造器与接口,this() - 学习记录 2020/10/14

本文详细介绍了Java中的构造器概念,包括this()与super()的使用,以及接口如何实现多重分类。重点讲解了构造函数的作用、自动创建和super()的调用机制。并通过实例演示了如何在Car类中运用this()和Color属性的初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

研二


shell

java 构造器与接口,this()

接口interface可用于创建虚拟的类供已有的类继承,但接口中的方法没有实际实现,接口的方法的具体实现是在被继承的对象中完成的。这样的做法可以让子类拥有多个共同的特性,即多重分类:花既可以属于植物也可以属于家庭装饰。
构造器,只有在新建一个类的时候才会调用到构造函数,比如:

Car acar = new car();

这其实就是在调用构造函数。构造函数允许你在使用对象之前就对对象进行一些初始化的设置,比如参数赋值,打印日志等。
任何类都会有构造函数,即使是在没有实际实现的类中。对于没有实现的类,编译器会为你自动编写一个构造函数,但该构造函数不会有参数和实际方法。如果自己想接管编译器完成构造函数,那么就需要实际设计构造函数的功能。
构造函数没有返回值,这是和普通函数不同之处。
编译器除了会在没有编写构造函数的时候自动创建构造函数,而且会自动在没有调用super()的构造函数中自动调用super()这个函数来调用父类的构造函数。由于子类要继承父类的属性和方法,因此如果父类的属性有值的话也会一并传给子类,因此子类在开始继承的时候似乎就“自动”拥有了父类的属性。但看起来的“自动”实际上还是由编译器通过一系列指令来完成的,这种自动化就是super()函数。super函数会放在子类构造函数的第一行,以先完成父类值的赋值,而父类的属性是否会在子类被修改就不归super()管了。
this()函数也只可以用于构造函数,并且会和super()抢夺使用权。this()函数可以调用本类的构造函数,如:

class Car {
	Color color;
	public car() {
		this(Color.red);
	}
	
	public car(Color c) {
		super();
		color = c;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值