Java中的构造方法和方法重载

构造方法:

是类中一种特殊的方法,主要用于对象的初始化工作,为实例变量赋予合适的初始值    

构造方法的定义:

形式:

权限修饰符   方法名(  ){

方法体语句

}

构造方法使用注意事项

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{}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值