import语句可以导入某个类中的所有类或某个包里的所有类
importstatic语句导入的是某个类或某个静态方法中的所有静态方法,
overload与override的区别
overload也就是重载;是在同一类中,方法名相同,
就是参数类型不同(相同情况下)参数列表与个数不同,返回值也可以不同
override也就是覆盖(重写);是在子父类的情况下,子类方法权限大于等于父类
且被重写的方法要求不管是返回值类型还是参数列表个数又或者是参数类型都需要相同,
但如果父类把该方法私有了,子类即使写的和父类一模一样,也不是重写,
因为子类是不知道父类有那方法的,那只是重新定义了一个方法。
可变参数的特点:
1,只能在参数列表最后
2,...前后有无空格都可以
3,调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,
在方法体中以数组形式访问可变函数。
例如:
publicstatic int add(int x,int... args)
{
intsum=x;
for(int a=0;a<args.length;a++)
{
sum+=args[a];
}
returnsum;
}
for循环增强:
语法for(数组集合皆可变量名:需要被遍历的数组集合名)
注意事项:
迭代变量必须在()中定义!
集合变量可以是数组或实现了iterable接口的集合类。
例如:
publicstatic int add(int x,int... args)
{
intsum=x;
for(int arg:args)
{
sum+=arg;
}
returnsum;
}
基本数据类型的自动拆箱与装箱:
自动装箱:
Integerin=12;
自动拆箱:
System.out.println(in+13);
当两个个相同的基本类型值要装成各自装成一个Integer类型的时候,
如果这两个基本类型值小于一个字节(byte(-128~127)),
那么他们相同,当大于一个字节时,他们不相同。
Integer有一个静态方法valueOf
(int i)
参数:
i - 一个 int 值。
返回:
表示 i 的 Integer 实例。
Integerin=IntegervalueOf(13);
Integeri=Integer.valueOf(13);原理同上,不超过一个字节他们相同,反之不相同
这是一个设计模式
享源模式;flyweight
就是有很多小的对象,它们有很多属性相同,就可以把它们变成一个对象
例如:char,int,short,long..
那些不相同的属性把它变成方法的参数,称之为外部访供,那些访供的属性
称之为这个对象的内部访供 例如:x,y..