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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张钧杰 中级黑马   /  2012-3-17 11:38  /  1785 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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);
希望老同学详解一下。

3 个回复

倒序浏览
本帖最后由 陈汉帆 于 2012-3-17 12:12 编辑

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

回复 使用道具 举报
陈汉帆 发表于 2012-3-17 12:09
只有静态方法才可以以 类名.方法()的方式直接调用,非静态方法调用一定要先创建对象,如果只使用一次,嫌 ...

谢谢,,
回复 使用道具 举报
了解静态(Static)的用法之后,就能明白这样的写法;

用法:是一个修饰符,用于修饰成员(成员变量,成员函数)
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,
还可以直接被类名调用,类名.静态成员。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马