2013.9.11
工作进入第三日,同其他人噶差距完全无拉紧过,仲系过紧视频教程噶生活,亚历山大,只能相信坚持。
今日成个朝早同下午基本都系围绕系类噶封装,继承,多态,呢D无乜新意,同大学噶知识无乜出入,但
系又怕错过左D新奇噶知识所以最后都系全部睇晒,虽然只系过左三日,但系感觉离考核噶日子唔远了,
时间好似远远唔足够。讲下今日噶状态吧:唔知系唔系无乜新知识点,平均一个钟去厕所洗一次面,眼训
到爆。
虽然新知识点唔算好多,不过仲系有收获噶。
一、
建立个别元素拥有默认值的Builder类
class:StudentBuilder
private String code
private String name;
private int age;
private boolean sex;
public Student build(String name){
Student student = new Student();
student.setName(name);
student.setAge(age);
student.setSex(sex);
student.setCode(code);
}
public StudentBulder setDefaultSex(boolean sex){
this.sex = sex;
return this;
}
public StudentBulder setDefaultAge(){.....}
public StudentBulder setDefaultCode(){....}
main:
builder.setDefaultSex(true).setDefaultAge(28).setDefaultCode("unknow");
StudentBuilder tom = new StudentBuilder("Tom");
main方法里面的第一行这写法我是从来没有见过的,不知道还以为是嵌套的方法,事实上竟然是巧妙的利
用了返回值是this来调用下一个成员方法。
二、
包装类:
Integer,Byte,Long,Short,Boolean,Character // 将基本类型进行包装,加入了各种API
自动装箱:
Interger i;
i=100; //java5的新特性
如果是1.5以下的版本应该改为:
Interger i;
i=new Interger(100);
注意: Integer i1=100;
Integer i2=100;
if(i1 == i2){
System.out.println("YES");
}
else(i1 != i2){
System.out.println("NO");
}
结果为:Yes
理由跟String一样是java的优化,如果i1和i2大于一定值的时候结果是:NO
注意:包装类的实例是对象
三、
static:
static方法只能调用static的对象,static对象可以任意地方使用。
static对象和方法不需要根据类的实例化调用。
final+static的对象要在类初始化之前进行初值的设置。
接口里的属性全部都是 final+static的。
四、
枚举:
枚举不用new;成员属性可直接在类定义的时候赋值,例:
public enum Grade{
A(100,90),B(90,80),C(80,60),D(60,0);
private int max;
private int min;
public Grade(int max,int min){
this.max=max;
this,min=min;
}
public static Grade valueof(int num){
for(Grade grade : Grade.values()){
if(num>=grade.min&&num<grade.max){
return grade;
}
}
return null;
}
}
main:
Grade grade=Grade.valueof(98);
利用switch()实现成绩噶优,良,中,差噶输出.