类中的方法引用确实可以类名引用,但是静态类中只能引用静态方法。
Calendar c= Calendar.getInstance();
这句话就是创建Calendar 对象c而Calendar.getInstance()则是调用Calendar里面的getInstance方法。
具体解释就是Calendar类是个抽象类,因此本身不能被实例化,然而在却创建了Calendar 的对象,但并不是抽象类可以创建对象。这个对象并不是Calendar 自身实例,而是其子类实例,这是在getInstance方法内部其实是实例化了GregorianCalendar 对象并返回了。
这里还反映了一种设计模式,很多模式里都用到getInstance方法来生成一对象,类中static 变量和方法可通过 类名.××访问
希望可帮到你 |