android学习札记第3章之面向对象三

2025-10-18 20:25:38

1、instanceof(运行期类型识别):

Shape s=new Line();

如果对一个对象的真实类型及其父类型判断,就都返回true。

作用:可以在向下转型前判断是否属于该类型,然后在向下转型,之后就可以调用子类中的成员了,如:

if(s intanceof Line){

        Line line=(Line)s;

        System.out.println(line.length);

}

android学习札记第3章之面向对象三

2、抽象类:

没有完成的类。

作用:

通用的代码:子类可以直接继承抽象类这些通用的代码,需要在子类里实现。

通用方法的定义:子类可以向上转型,再调用抽象类里的方法。

注意:

①不能创建对象,只能创建子类的对象。

②包含抽象方法的类,必须是抽象类。

③抽象类中,不一定包含抽象方法。

android学习札记第3章之面向对象三

3、final:

用与修饰变量、方法、类。

变量:

final int a=10;//变量的值不可变(常量)

final Point a=new Point(2,3);//a.x=4;->正确,a是Point对象在内存中的地址,而不是x,y的值。

方法:不能被子类重写。

类:不能被继承。

android学习札记第3章之面向对象三

4、static:

①静态成员属于类,不属于对象

②访问静态成员,应该使用类名来调用。

③静态方法中,不能访问非静态成员。

④什么时候使用静态?

使用原则:因为静态是“非面向对象”语法,所以能不用就不用。

使用场景:⑴共享的数据(常量)。如:Mat.PI、Integer.MAX_VALUE。(节省内存)

⑵工具方法:如:Integer.parseInt(字符串)、Math.pow(a,b)、Mat.sqrt(a)。

⑤常量定义

⑴static final:如:static final int MAX_VALUE=99999;

⑵命名习惯:全大写、单词之间加下划线。

android学习札记第3章之面向对象三

5、访问控制符:

控制一个类,或类内部成员的访问范围。

                 类     包    子类   包外

public        √      √      √       √

protected  √      √      √       X

default      √      √      X       X

private      √       X      X       X

4个访问控制符的选择原则:尽量使用小的范围。

公开的类或成员,是与其他开发者的一个契约,约定公开的东西会保持稳定不变。

android学习札记第3章之面向对象三

6、接口:

是一个极端的抽象类,用interface代替class,用implements代替extends。

作用:结构设计工具,用来“解耦合”。

限制:接口中,只能定义:

①公共的常量;

②公共的抽象方法:public abstract可以省略;

③公共的内部类或内部接口。

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

1、定义一个工具类Util:

添加静态的工具方法:

int2Bytes():整数拆分成4个字节值,放入byte[]数组

bytes2Int():byte[]数组中的4个字节值合并成一个整数

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

2、用面向对象思想实现变形金刚拿各种兵器进攻的场景:

首先创建兵器接口Weapon提供方法,让各个兵器类Sword、AK47、LangYaBang实现,然后创建变形金刚类完成进攻和拿兵器的方法,最后测试变形金刚是否能够拿兵器进攻。

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

android学习札记第3章之面向对象三

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢