Java中 类名+方法名(){}的意思

public class GetVersion {

    public  VersionBean get_version_code(Context context, String packagename) {
        if (getPackageInfo(context,packagename)==null){
            return new VersionBean(0,"0");
        }else {
            return new VersionBean(getPackageInfo(context,packagename).versionCode,
                    getPackageInfo(context,packagename).versionName);
        }
    }

其中VersionBean是另一个类

public class VersionBean {

    public String VersionName;
    public int VersionCode;

    public VersionBean(int version_code,String version_name){
        this.VersionCode=version_code;
        this.VersionName=version_name;
    }

}

意思是这个 public VersionBean get_version_code()方法的返回类型是VersionBean这个类的实例(对象)。

这么写有什么好处?

可以通过类名+方法名调用的方法叫做静态方法,属于类级别方法。类方法可在不实例化对象的前提下【直接调用】。一般类的静态方法和静态变量都是通过static关键字修饰的。而且静态方法体里不能应用任何实例变量和实例方法。至于你那段程序,调用那个方法和new一个对象效果是一样的。不过只是把实例的创建封装在方法里,通过类名加方法来调用而已,让实例化代码简洁点外,无任何差别。

不过,有些时候,有些类的设计,出于某种需要,不希望类的构造方法是public的,也就是用户无法直接new出来的,通常就会通过这么一个静态方法来调用获取实例.而且这些方法体里除了直接return
一个实例之外,可能还会做某些处理,这在java里许多类都有这种设计.如,j2me中的Image类.

Android的getInstance方法的作用getInstance方法的定义也是把实例的创建封装在方法里,通过类名加方法来调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值