学习笔记:java的重载和构造方法

方法重载是一项功能,如果一个类的参数列表不同,则它允许一个类拥有多个具有相同名称的方法。它类似于Java中的构造函数重载,它允许一个类具有多个具有不同参数列表的构造函数。
注意这个是错的

int add(int, int)
float add(int, int)

举例

public class Person {
    
    
    private String name;
    private int age;
    private Date birthDate;
    public Person(String name, int age, Date d) {
    
    
 	this.name = name;
 	this.age = age;
 	this.birthDate = d;
     }
     public Person(String name, int age) {
    
    
 	this(name, age, null);    
	//this.name=name; this.age=age; this.birthDate=null;
     }
     public Person(String name, Date d) {
    
    
 	this(name, 30, d);	   	
	//this.name=name; this.age=30; this.birthDate=d;
     }
     public Person(String name) {
    
    
	 this(name, 30);	   //this.name=name; this.age=30;
     }
}

Java的重载和重写的区别
重载(Overloading)
方法名称相同,参数的类型或个数不同。
对权限没有要求
发生在一个类中
重写(Overriding)
方法名称、参数类型、返回值类型全部相同。
被重写的方法不能拥有比父类更加严格的权限。
当新对象被创建的时候,构造方法会被调用。每一个类都有构造方法。当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。

Java中构造方法重载和方法重载很相似。可以为一个类创建多个构造方法。每一个构造方法必须有它自己唯一的参数列表。

Java不支持像C++中那样的复制构造方法,这个不同点是因为如果你不自己写构造方法的情况下,Java不会创建默认的复制构造方法。

构造方法的方法名必须与类名相同

构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。

构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。

一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。

构造方法可以重载,以参数的个数,类型,顺序。

构造方法是一个特殊的方法。
方法结构:
访问修饰符 类名(参数列表){方法体}

构造方法重载。
在没写构造方法是 有一个默认的
类名(){}构造方法

this()是调用本类不带参构造方法;
super()是调用父类不带参的构造方法;

构造方法和方法的类似之处在于它们都包含可执行代码,区别在于,只有当Java类实例化时才执行构造方法。构造方法通常包含类属性初始化代码,从严格意义上说,构造方法并不是方法,因为它不会返回任何值。
————————————————
版权声明:本文为CSDN博主「HSXaaa123」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41924879/article/details/100672169发生在继承中

猜你喜欢

转载自blog.csdn.net/qq_44909275/article/details/105041278
今日推荐