构造方法、方法重载、方法重写

1.构造方法

作用:创建对象时进行初始化赋值。

特性:

1.构造方法没有返回值:与普通方法不同,构造方法虽然没有返回值,但是不可以用void修饰,其名称与类名相同。
2.构造方法总是被调用:当创建一个类的新对象时,无论使用显式调用还是通过创建对象的表达式,构造方法都会被自动调用。
3.构造方法可以在创建对象时进行初始化操作:可以在构造方法中对对象的成员变量进行赋值,执行其他必要的初始化操作。
4.构造方法可以调用其他构造方法:在一个构造方法中,可以使用 this() 或 super() 关键字来调用同一类或父类的其他构造方法。
5.构造方法可以被继承:如果一个类继承自父类,子类会继承父类的构造方法。子类可以选择覆盖父类的构造方法,或者在子类的构造方法中使用 super() 调用父类的构造方法。
6.默认构造方法:如果类没有显式定义任何构造方法,编译器会为该类提供一个默认的无参构造方法。这个默认构造方法将对对象的成员变量进行默认初始化。

2.方法重载(Overload

含义:方法重载是指在一个类中定义多个方法,它们具有相同的方法名,但具有不同的参数列表
具体来说,方法重载要求方法名相同,但是参数的类型、数量或顺序可以不同,对返回值类型无要求。当调用一个方法时,根据传递的参数类型和数量,编译器会自动选择合适的方法进行调用。

3.方法重写(Override)

含义:方法重写是指在子类中重新定义从父类继承的方法,以便提供与父类方法不同的实现。
具体来说,当子类继承了父类的方法时,如果需要修改父类方法的行为,可以在子类中使用相同的方法名、参数列表和返回类型重新定义该方法,并且访问修饰符的限制一定要大于等于被重写方法的访问修饰符
这样,当通过子类对象调用该方法时,会使用子类中的实现,而不是父类中的实现。

方法重写又称为方法覆盖


4.注意

构造方法可以被重载,但是不可以被重写

不可以被重写原因:因为构造方法的名称必须与类名完全相同,而重写是指子类重写父类的方法,重写的方法名必须与父类方法名相同。如果构造方法可以被重写,那么子类中的此构造方法的  方法名  与  子类的类名不同,这将违反了构造方法的命名规则。

此外,构造方法的目的是用于创建对象并初始化对象的成员变量,它在对象创建时自动调用。如果允许重写构造方法,那么子类就可以改变父类对象的初始化过程,这可能导致对象的创建和初始化不符合设计意图,坏了类的封装性和一致性。

因此,为了保持构造方法的一致性和可靠性,Java规定构造方法不可以被重写。

你可能感兴趣的:(java,开发语言)