因为考试周,足足20天没有进行android培训,期间因为课程设计也熬了好多夜,这学期总算是结束了,可以全身心投入android的学习当中了。
因为太长时间没有上培训,使得以前的知识都有点遗忘了。不过好在以前上的每一次课都有总结,可以通过查看自己博客慢慢重温之前学过的知识,每次课写总结的优点终于体现出来了!
包装类、Object类方法、final、抽象类
一、包装类
1、包装类的设计目的:为了拟补基础数据类型进行计算和转换的繁琐操作
2、装箱与拆箱:
装箱:基本数据类型转化为包装类 如:Integer inObj = 100
拆箱:包装类转化为基本数据类型 如:int it = inObj
3、字符串转化为int类型的三种方法:
①int a = Integer.parseInt(aString);
②int a = Integer.valueOf(aString);
③int a = new Integer(aString);
4、int类型转化为字符串的两种方法:
①String a = String.valueOf(intObj); 推荐使用
②String a = intObj+""; 不推荐使用
二、Object类中 toString()、equals()方法
1、toString():如果你定义的类没有覆盖toString方法,则对象在调用toString方法时用的是Object类toString方法,返回的是“类名@hashcode".
2、equals():被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。
在这里必然要说到equals与“==”的区别:
①对于两个基本数据类型的比较,只能使用“==”
②对于引用数据类型的比较,equals比较的是两个变量的“内容”,而==比较的是两个变量的内存地址是否一致,或者说比较两个变量是否为同一对象。
3、toString()、equals()方法重写:如果你定义的类没有覆盖Object方法,这当该类的对象在调用该方法时执行的是Object类的方法。可以通过重写该方法使之执行你所需要的操作。
三、final修饰符
1、final修饰类:该类不能被继承。
2、fianl修饰方法:该方法不能被重写。(但可以被重载)
3、fianl修饰变量:变量必须初始化赋值。
4、fianl修饰引用变量时,指的是该变量对应的对象所指向的地址不能被改变,而改变变量的值并不会导致该对象地址发生改变,因此当final修饰引用变量时,引用变量在不改变内存地址的情况下是可以改变它的值的。
四、抽象类与抽象方法(abstract)
1、抽象类:拥有抽象方法的类为抽象类
2、抽象方法:没有方法体的方法为抽象方法
3、抽象类不能实例化对象
4、继承抽象类的子类必须实现父类的所有抽象方法,否则也必须声明为抽象类,再由其子类实现。
课堂作业
作业一:基于Shape抽象类,实现一个Circle类,用于计算其周长
下面是代码:
public abstract class Shape {
//获得周长
public abstract double getZhouChang();
//获得面积
public abstract double getMianJi();
public static void main(String[] args) {
Circle circle = new Circle(10);
System.out.println(circle.getZhouChang());
System.out.println(circle.getMianJi());
}
}
class Circle extends Shape{
private double r ;
Circle(int r){
this.r = r;
}
@Override
public double getZhouChang() {
double result = r*3.14*2;
return result;
}
@Override
public double getMianJi(){
double result = 3.14*r*r;
return result;
}
}
作业二:在博客里面发表自己想做的app的构想,描述清楚需求以及应用场。
暂时木有什么想要做的app,缺少idea,能够想到的基本上市场上都有
创意还不足,还需要慢慢寻找灵感