A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.*;
public class acc
{
        public static void main(String argv[])
        {
                ArrayList al=new ArrayList();
                al.add("java1");
                al.add("java2");
                al.add("java3");
                sop(al.size());
        }
        public static void sop(Object obj)
        {
                System.out.println(obj);
        }
}
sop方法中为什么少不了static呢?

3 个回复

倒序浏览
因为你写的sop()方法在main()中调用了,而main()方法是静态的,静态方法中不能调用非静态的方法。因此要加上static 。
你可以不加static,但是在main()的方法中,就要通过对象调用
acc a = new acc();
a.sop();
回复 使用道具 举报
我发现,有很多类似楼主的问题。我需要做的就是把以前的回答复制一下啊

必须通过对象名.方法名的方式对非static方法进行调用。

”可以“通过类名.方法名的方式对static的方法进行调用。如果调用static方法的方法与这个static方法位于同一个类内,那么可以省略被调用的static方法的类名。例如main()方法内部经常通过直接调用方法名的方式对位于同一个类中的static方法直接调用。这里其实是使用了默认的本身类名。也可以通过对象名。方法名的方式调用。你可以试试。
回复 使用道具 举报
我没事会去三期和四期的交流区看看,其实有很多问题学长们也遇到过,下次问问题前先看看有前几期有没有问过,看一下学长们是怎么解决的,可以节省自己和大家的时间看视频。呵呵
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马