自定义的接口可以直接写在类中
然后在类中写一个静态方法(静态方法的话,在activity中可以直接调用,不用实例化),以接口为参数,调用接口中的方法
public class myClass {
//自定义接口
public interface MyInterface{
void sayName(int requestCode);
}
//在这个类中写一个静态方法 ,以接口为参数,调用接口中的方法
public static void getData(int requestCode,MyInterface myInterface){
myInterface.sayName(requestCode);
}
}
在activity中调用接口:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myClass.getData(1,myInterface);
}
private myClass.MyInterface myInterface = new myClass.MyInterface() {
@Override
public void sayName(int requestCode) {
switch (requestCode){
case 1:
break;
case 2:
break;
}
}
};
}
关于静态方法和非静态方法的区别:
①静态成员属于类所有,非静态成员属于类的实例所有。
②每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;
非静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域。