c.java

来自「用java编写的一些初级代码」· Java 代码 · 共 59 行

JAVA
59
字号
class Apart
{
    public void f1()
    {
	System.out.println("Apart f1 call");
    }
    public void f2()
    {
	f1();
    }
}
class Bring extends Apart
{
    public void f1()
    {
	System.out.println("Bring f1 call");
    }
    public void f3()
    {
	System.out.println("Bring f3 call");
    }
}
public class C
{
    public static void main (String[] args)
    {
	Bring b1=new Bring();
	Apart a=b1;
	callA(a);
	callA(new Bring());
	AAfun(a);
	A3fun(a);
    }
    public static void callA(Apart a){
	//父类自动转化成子类
	a.f1();
	a.f2();
    }
    public static void AAfun(Apart a){
	//子类强制转化成父类
	Bring b=(Bring)a;
	b.f1();
	b.f3();
    }
    public static void A3fun(Apart a){
	//使用instanceof
	if (a instanceof Bring) {
	    Bring b=(Bring)a;
	    b.f1();
	    b.f2();
	    b.f3();
	}
	else{
	    a.f1();
	    a.f2();
	}
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?