匿名内部类
当某个类只需要使用一次时,为了代码简洁,使用匿名内部类,可避免单独编写为一个类
如以下页面跳转代码:
Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent(MainActivity.this,BankActivity.class);
startActivity(intent);
}
});
只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现
接口回调
回调可以指出某个特定事件发生时应采取的动作
例如在构造定时器时,需要设置一个时间间隔,并告之定时器到达时间间隔时需要做些什么
这就需要传递的对象所属的类实现如下接口:
public interface ActionListener{
void actionPerformed(ActionEvent event)
}
它将某个类的对象传递给定时器,然后定时器调用这个对象的方法
当到达指定时间时,定时器就调用actionPerformed方法
泛型
泛型意味着编写的代码可以被很多不同类型的对象所重用
就像一个ArrayLis类可以集聚任何类型的对象,这就是一个泛型程序设计的实例
一个例子:
//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型
//在实例化泛型类时,必须指定T的具体类型
public class Generic<T>{
//key这个成员变量的类型为T,T的类型由外部指定
private T key;
public Generic(T key) { //泛型构造方法形参key的类型也为T,T的类型由外部指定
this.key = key;
}
public T getKey(){ //泛型方法getKey的返回值类型为T,T的类型由外部指定
return key;
}
}
Activity布局
android:id 可以通过该方法来设置TextView的ID,然后可以通过findViewById()方法来获取控件
android:layout_width与android:layout_height代表控件的宽度与高度
属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。
android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。 android:textSize可以改变文字的大小,单位是sp
android:textColor可设置字体颜色
android:background可设置背景颜色