2020-11-12

Q1:java中为什么main方法必须用static修饰?
A1:源自百度
1、首先介绍一下static这个修饰符
在类中,变量的前面有修饰符static称为静态变量(类变量),方法的前面有修饰符static称为静态方法(类方法)。静态方法和静态变量是属于某一个类,而不属于类的对象。
2、如果一个方法没有用static来修饰的话就说明这是一个成员方法,只能通过对象来调用这个方法。
3、在Java程序运行时,是没有实例化任何对象的,只能通过调用类方法来运行main方法,所以会用static来修饰。
Q2:在java中和main方法并列的方法为什么一定要加static?
A2:因为 main 方法是静态的,所以 main 方法里直接调用的方法也必须是静态的。

JAVA里有类的概念,有对象的概念,对象是类的实例,类是对象的模型。说白了就是,类是一个模板,对象就是照这个模板刻出来的具体事物,而静态方法和静态变量,是属于这个模板的,也就是类的,而非静态的方法和变量是从属于对象的,这两者互不干扰。

现在说为什么JAVA不允许静态方法调用非静态方法。假设,我们先创建了一个类,也就是模板,但是还没有用这个模板是生成对象,那么现在我们只有静态方法(因为非静态方法是对象的,目前没有对象)。那么你模板的静态方法,怎么去调非静态方法(压根就没有)?就算有了对象,有非静态方法了,那么你main方法是调用哪个对象的非静态方法呢?因此,你必须明确表明你调用的哪个对象的哪个方法,所以你需要先new一个对象object,然后object.method()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值