可变参数
可变参数是指在声明方法时不给出参数列表中从某项开始直至最后一项参数的名字和个数,但这些参数的类型必须相同。
可变参数使用“…”表示若干个参数,这些参数的类型必须相同,并且最后一个参数必须是方法的参数列表中的最后一个参数。
例如:
public void f(int ... x)
组合与复用
如果一个对象a组合了对象b,那么对象a就可以委托对象b调用其方法,即对象a以组合的方式复用对象b的方法。
特点:
⑴通过组合对象来复用方法,也称(黑盒复用),因为当前对象只能委托所包含对象调用其方法,这样一来,当前对象对所包含对象的方法的细节是(算法的细节)一无所知的。
⑵当前对象随时可以更换所包含的对象,即对象与所包含对象属于弱耦合关系。
实例成员与类成员
实例变量和类变量的声明
类体包括成员变量的声明和方法的定义,而成员变量又可以细分为实例变量和类变量。在声明成员变量使用关键词Static给予修饰的称作类变量,否则是称作实例变量(类变量也称为static变量,静态变量)。
例子:
实例变量与类变量的区别:
⑴不同对象的实例变量互不相同。
⑵所有对象共享类变量。
⑶通过类名直接访问类变量。
注意:类变量似乎破坏了封装性,其实不然,当对象调用实例方法时,该方法中出现的类变量也是该对象的变量,不过这个变量和所有的其他对象共享而已。
今天学到这里,明天继续。