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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 月时微 中级黑马   /  2013-6-17 19:37  /  1582 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class A
{
       public static A add(){}
}

public static  A add();是说返回值是静态的类对象,又是公用的?
这样用有什么目的?

5 个回复

倒序浏览
因为是静态方法,所以调用的时候当然就是A.add();定义为public了,返回值是A类的对象,应该就是这样设计的吧,A a = A.add();
回复 使用道具 举报
public class A
{
       public static A add(){}
}
static是为了使该成员在类加载的时候就存在,并单独存放在方法区。多一种类名的调用方式,就可以直接用类名调用的固定格式来使用这个方法,而不需要在堆内存中创建个对象去使用这个方法,这样看来设置成static后就比通过创建对象再去调用方法快些,而且节省空间,因为方法是独立存储的。

但是也有不好的地方,就是不管调不调用这个方法,它都在方法区里呆着,生命周期太长。所以根据情况酌情选择吧。

个人理解
回复 使用道具 举报
public class A
{
       public static A add(){}//方法add,访问权限是public,该函数是静态的static,方法的返回值类型是A 。
}
回复 使用道具 举报
这个是单例模式中的方法,先理解下单例模式就明白了

单例(Singleton)模式:单例模式确保某一个类只有一个实例,而且该类只能是自己实例化自己并向其他类公开这个实例的对象创建模式
    采用单例模式的类:根据单例模式知道其要满足以下三点
    1. 确保某一个类只有一个实例
    2. 而且自己实例化
    3. 并向其他类提供这个实例类
回复 使用道具 举报
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马