黑马程序员技术交流社区

标题: ArrayTool调用的写法 [打印本页]

作者: 张钧杰    时间: 2012-3-17 11:38
标题: ArrayTool调用的写法
class ArrayToolDemo
{
        public static void main(String[] args)
        {
                int[] arr = {2,3,9,4,8};
                ArrayTool tool = new ArrayToll();
                int max = tool.getMax(arr);
                System.out.println("max"+max);
        }
}

ArrayTool tool = new ArrayToll();   能不能不创建对象
               
int max = tool.getMax(arr);能不能写成 int max = ArrayTool.getMax(arr);

    我看视屏好像有这样的写法         int max = ArrayTool()getMax(arr);
希望老同学详解一下。

作者: 陈汉帆    时间: 2012-3-17 12:09
本帖最后由 陈汉帆 于 2012-3-17 12:12 编辑

只有静态方法才可以以 类名.方法()的方式直接调用,非静态方法调用一定要先创建对象,如果只使用一次,嫌麻烦,可以创建匿名对象: new 类名().方法()
即int max = ArrayTool.getMax(arr); 如果getMax是静态方法就可以;否则,应该这样写:int max =new ArrayTool().getMax(arr);


作者: 张钧杰    时间: 2012-3-17 12:25
陈汉帆 发表于 2012-3-17 12:09
只有静态方法才可以以 类名.方法()的方式直接调用,非静态方法调用一定要先创建对象,如果只使用一次,嫌 ...

谢谢,,
作者: 许飞翔    时间: 2012-3-17 13:03
了解静态(Static)的用法之后,就能明白这样的写法;

用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,
还可以直接被类名调用,类名.静态成员。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2