不然A,B,E这是三种不同的类类型,虽然同是继承某个超类,但是不能转换的,只能依靠接口来代替。
import java.io.*;
import java.util.*;public class interfaceB
{public static void main(String [] args)
{
p p=new p();
pp pp=new pp();
p.a();
pp.a();
interfaceA d=null;
d=p;
p.a();
d=pp;
d.a();}}class p extends interfaceA{ public void a(){
System.out.println("p");
}}class pp extends interfaceA{
public void a(){
System.out.println("pp");
}}abstract class interfaceA{
public void a(){};
}
import java.io.*;
import java.util.*;public class interfaceB
{public static void main(String [] args)
{
p p=new p();
pp pp=new pp();
p.a();
pp.a();
interfaceA d=null;
d=p;
p.a();
d=pp;
d.a();}}class p extends interfaceA{ public void a(){
System.out.println("p");
}}class pp extends interfaceA{
public void a(){
System.out.println("pp");
}}abstract class interfaceA{
public void a(){};
}
解决方案 »
- java自动滚动
- javamail发送接收邮件,老问题。
- 为什么Java编译时返回"cannot resolve symbol symbol : method doubleValue location : class java.lang.Double"的错误?
- 发个贴
- 两道智力题大家来答一下啊!
- 请问BigInteger和BigDecimal两个方法如何使用?
- 极度郁闷中!怎么我就学不会JAVA
- 請問g.drawString如何斷行?
- 为什么栈溢出了啊?
- java在bmp图片上签名添加文艺或者水印
- Java Reflect的class与Interface问题
- 为什么JFrame中只能显示一个控件?
System.out.println(a+b); // 计算“ “+ a+b
String + int ----〉String
最后返回的是个stringa+b是int