构造方法:
是类中一种特殊的方法,主要用于对象的初始化工作,为实例变量赋予合适的初始值
构造方法的定义:
形式:
权限修饰符 方法名( ){
方法体语句
}
构造方法使用注意事项
1.方法名必须和类名相同,包括大小写。
2.构造方法不能使用返回值类型修饰。(如果写了,语法不错但是不再是构造方法)
3.如果类中没有显示定义构造方法,则编译器会加一个无参的构造方法,如果有显示定义构造方法则编译器不会再加无参的构造方法
构造方法的调用:
构造方法不能直接调用,必须通过new关键字调用或this关键字调用
举个例子,这是一个有参的构造方法。
// 定义一个名为 Children 的类
public class Children {
// 定义公有成员变量 age,用于存储孩子的年龄
public int age;
// 定义公有成员变量 name,用于存储孩子的名字
public String name;
// 定义一个构造方法,用于创建 Children 类的实例
// 构造方法接受两个参数,一个是 int 类型的 age,一个是 String 类型的 name
public Children(int age, String name) {
// 使用 this 关键字将传入的参数赋值给对应的成员变量
this.age = age;
this.name = name;
}
// 主方法,程序的入口
public static void main(String[] args) {
// 使用构造方法创建一个 Children 类的实例,传入年龄 10 和名字 "小李"
Children children = new Children(10, "小李");
// 打印孩子的年龄
System.out.println(children.age);
// 打印孩子的名字
System.out.println(children.name);
}
}
方法重载:
在同一个类中,如果两个方法名相同,参数不同,一个方法称为另一个方法的重载方法
方法重载的定义形式:
1.必须要在同一个类中2.方法名相同3.参数的个数、类型、顺序至少有一个不同 方法的权限修饰符可以不同5.方法的返回值类型可以不同
举个方法重载的例子
// 定义一个类 OverLoad,演示方法重载
public class OverLoad {
// 定义一个方法,参数为 Chicken 类型,输出“吃鸡肉”
public void method(Chicken c){
System.out.println("吃鸡肉");
}
// 定义一个受保护的方法,参数为 Beef 类型,输出“吃牛肉”
protected void method(Beef b){
System.out.println("吃牛肉");
}
// 定义一个方法,有两个参数,一个是 Chicken 类型,一个是 Beef 类型,
// 输出“吃鸡肉和牛肉”,并返回 Beef 类型的参数
public Beef method(Chicken c, Beef b){
System.out.println("吃鸡肉和牛肉");
return b;
}
// 定义一个方法,有两个参数,一个是 Beef 类型,一个是 Chicken 类型,
// 输出“吃牛肉和鸡肉”
public void method(Beef b, Chicken c){
System.out.println("吃牛肉和鸡肉");
}
// 构造方法也可以重载
// 无参构造方法
public OverLoad(){}
// 带有一个 int 类型参数的构造方法
public OverLoad(int a){}
// 主方法,程序的入口
public static void main(String[] args) {
// 创建 OverLoad 类的实例
OverLoad olt = new OverLoad();
// 创建 Chicken 类的实例
Chicken c = new Chicken();
// 创建 Beef 类的实例
Beef b = new Beef();
// 调用重载方法,根据传递的参数类型和顺序决定调用哪个重载方法
// 这里会调用 public void method(Beef b, Chicken c),输出“吃牛肉和鸡肉”
olt.method(b, c);
}
}
// 定义 Chicken 类,这里只是一个简单的类,没有实现任何功能
class Chicken{}
// 定义 Beef 类,这里也是一个简单的类,没有实现任何功能
class Beef{}