构造方法、main方法

构造方法

一、注意事项

1、构造方法名必须和类名完全相同

2、构造方法没有类型,void也不可以

3、不写构造器,默认赠送一个无参构造器

​ 一旦自己编写构造器,编译器则不再赠送

4、构造方法可以重载(方法名相同,参数列表不同)

5、构造方法不能递归(直接递归、间接递归均不可)

二、构造方法 VS 成员方法

构造方法是一种特殊的成员方法,用来初始化对象的状态

构造方法和成员方法都可以有访问修饰符(public、protected、友好的、private)

构造方法不能有非访问修饰符(static、final、abstract、synchronized)

  • 构造方法用于初始化对象,static修饰无意义

  • 构造方法不会被子类继承,final、abstract修饰无意义

  • 不会创建地址相同的对象,synchronized修饰无意义

三、全参构造器 VS Setter方法

各有优势,共同存在,Setter方法可以单独为成员变量设置值

全参构造器可以一次赋值多个属性,避免多次使用Setter方法

        Employee e = new Employee("鱼悠奕", 21);
        e.setAge(22);

main方法

main方法是一种特殊的成员方法由Java虚拟机(JVM)直接调用,而不是由其他方法调用

JVM寻找一个具有特定签名的main方法:public static void main(String[] args),然后执行它

  • 程序的入口点,需要从程序外部被访问,所以它是public

  • 在没有创建任何对象实例的情况下就能运行,所以它是static

  • 主要目的是启动程序并控制程序的执行流程,不需要返回任何值,所以它是void

public class Main {  
    // main 方法是 Main 类的一个成员
    public static void main(String[] args) {  
        System.out.println("Hello, World!");  
    }  
}

1、main方法不写static,编译通过,无法运行
在这里插入图片描述
2、main方法的参数必须是一个字符串数组,数组名任意

public class Demo {
    public static void main(String[] arr) { // 一般为args
        // 不带参数运行main方法
        // System.out.println(arr); // [Ljava.lang.String;@50cbc42f
        // System.out.println(arr.length); // 0        
       
        // 带着参数运行main方法
        for (String str : arr) {
            System.out.println(str);
        }
    }
}

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼悠奕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值