运行时多态性是否总是在方法覆盖时发生,还是只有在方法覆盖期间将子类对象分配给超类变量后调用方法才会发生?
class A {
public void myFunc() {
System.out.println("Something");
}
}
class B extends A {
public void myFunc() {
System.out.println("Something else");
}
public static void main (String args[]) {
A obj = new B();
obj.myFunc(); //Is only this call resolved at run time?
A obj2 = new A();
obj2.myFunc(); //Or is this call too resolved at run time?
B obj3 = new B();
obj3.myFunc(); //Is this call resolved at compile time?
}
}
Run Code Online (Sandbox Code Playgroud) 在我的应用程序的登录屏幕中,我放置了一个 ImageButton 点击它应该带到屏幕“FeedbackScreen”。但是当我点击它时什么也没有发生。logcat 说:
“ Outgoing transactions from this process must be FLAG_ONEWAY”。
这是我为 ImageButton 放置的代码:
imgBtnFeedback.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginScreen.this, com.mycompany.myappname.fragment.FeedbackScreen.class);
startActivity(intent);
finish(); }
});
Run Code Online (Sandbox Code Playgroud)
我尝试谷歌搜索,但无济于事。
我该如何解决?