主业iOS/PHP,副业啥都玩,QQ:705719110,欢迎来撩!

安卓基础学习笔记(四)

Android学习 随风 125℃ 0评论

描述一下概念:
1. 属性与方法
属性和方法都是类的成员,用于描述类的特征,每个类都可以有若干个属性、若干个方法。

属性用于描述可以使用值进行量化的特征,通常属性的名称会使用名词,例如:

方法用于描述动作或者行为,通常方法的名称是动词,例如:

当方法声明了参数后,调用该方法时,必须提供匹配数据类型、匹配数量、匹配位置的参数值,例如:

每一个方法都可以有返回值,如果不需要返回值,则应该声明返回类型为void,如果需要,则声明为对应的类型,且在方法的最后,应该使用return语句返回对应类型的数据,例如:

当调用有返回值的方法时,可以获取其返回值,也可以不获取,例如:

对于声明为void返回值的方法,也可以使用return语句,但是,return关键字后不可以有任何值,例如:

不管返回值是什么类型,return都应该是方法的最后一条有效语句。
为了便于开发,方法允许重载(Overload),即:在同一个类中允许存在若干个名称相同的方法,但是,这些方法的参数列表必须不同,例如:

参数列表的区别表现为:数量、数据类型、顺序

【测试题】

2. 构造方法
构造方法是一类特殊的方法,其特征是:
1) 构造方法不允许声明返回值类型,即连void都不可以
2) 构造方法的名称必须与类的名称完全相同
如果类中没有显式的声明构造方法,则编译器会自动的添加公有的、无参数的构造方法,例如以下2段代码是等效的:

构造方法用于创建类的对象,例如:

如果开发者显式的声明了构造方法,则编译器不会再自动添加构造方法。
构造方法可以用于创建对象时直接指定对象的某些属性值,例如没有构造方法时:

3. this、super关键字
this表示当前类的对象,super表示当前类的父类的对象。

4. 内部类
内部类就是声明在其它类的内部的类,主要有:
1) 成员内部类:以类的成员的形式出现的内部类,例如:

成员内部类可以使用任何访问权限修饰符。
内部类可以访问外部类的任意成员,包括私有的。
在没有创建外部类的对象之前,不可以直接创建内部类的对象。

2) 局部内部类:定义在方法的内部的内部类。

局部内部类不可以使用任何访问权限修饰符。
使用局部内部类时,需要注意代码的先后顺序。
在局部内部类中,不可以直接访问局部变量,如果一定需要访问,可以使用final修饰该局部变量,或者将局部变量声明为全局变量(类的属性)。

3) 静态成员内部类:静态内部类是使用static修饰的成员内部类,例如:

静态内部类不可以访问外部类中非静态的成员。
静态内部类可以直接创建对象,而不需要依赖于外部类的对象。

4) 匿名内部类:直接创建已知的类的子类对象,或者已知的接口的实现类对象,而创建时,并不体现子类/实现类的名称,即创建出来的对象的类名是未知的,例如:

Logcat日志级别
—————————————
v -> verbose -> 观察 -> 黑色
d -> debug -> 调试 -> 绿色
i -> info -> 信息 -> 蓝色
w -> warn -> 警告 -> 橙色
e -> error -> 错误 -> 红色

在BaseAdapter中getView()方法的convertView重复使用
—————————————-
当ListView需要显示列表项时,会调用Adapter中的getView()方法。在第一次显示之后,如果滑动ListView,则某些列表项会滑出屏幕范围,而一些新的列表项会进入屏幕范围,此时,ListView会将滑出屏幕的列表项的View对象用于调用显示新列表项的getView()方法,表现为getView()方法的第2个参数convertView。
基于ListView这样的工作机制,可以保证convertView在第1次显示时均为null,但是,滑动屏幕之后,不为null,则convertView对象的数量是该ListView可以显示的列表项数量的最大值。
在编程时,应该对convertView是否为null进行判断,如果为null,则需要根据xml模板加载得到,如果不为null,则直接使用即可。convertView就是模板的View对象。

转载请注明:怼码人生 » 安卓基础学习笔记(四)

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址