java学习笔记
| Class | Package | Subclass | Subclass | World
| | |(same pkg)|(diff pkg)|
————————————+———————+—————————+——————————+——————————+————————
public | + | + | + | + | +
————————————+———————+—————————+——————————+——————————+————————
protected | + | + | + | + | o
————————————+———————+—————————+——————————+——————————+————————
no modifier | + | + | + | o | o
————————————+———————+—————————+——————————+——————————+————————
private | + | o | o | o | o
+ : accessible
o : not accessible
根据网上直接复制过来的信息,几个关键字的区别,no modifier就是友元,proteted关键字作用的范围是整个区域内容,如果不是同一个包名,那么实例的数据就无法访问
java泛型的使用用法,当泛型的的参数是parecel类的泛型参数说明,在Parcelable类中的泛型说明,下面的一段代码是安卓的源码,类型通过T进行传递参数T
public interface Creator<T> {
/**
* Create a new instance of the Parcelable class, instantiating it
* from the given Parcel whose data had previously been written by
* {@link Parcelable#writeToParcel Parcelable.writeToParcel()}.
*
* @param source The Parcel to read the object's data from.
* @return Returns a new instance of the Parcelable class.
*/
public T createFromParcel(Parcel source);
/**
* Create a new array of the Parcelable class.
*
* @param size Size of the array.
* @return Returns an array of the Parcelable class, with every entry
* initialized to null.
*/
public T[] newArray(int size);
}
创建的实例如下面的实力所示
public static final Parcelable.Creator<SearchableInfo> CREATOR = new Parcelable.Creator<SearchableInfo>() { public SearchableInfo createFromParcel(Parcel in) { return new SearchableInfo(in); } public SearchableInfo[] newArray(int size) { return new SearchableInfo[size];
SearchableInfo为类的名称,数据类型可以放在尖括号里面,根据具体的对象进行初始化实例
浙公网安备 33010602011771号