我觉得是不带的,但我无法解释下面的程序了?接口调用了不属于它的方法啊!
interface A{
}
public class B implements A{
public static void main(String [] args){
A a = new B();
System.out.println(a.toString());
}
}
interface A{
}
public class B implements A{
public static void main(String [] args){
A a = new B();
System.out.println(a.toString());
}
}
解决方案 »
- 关于IO的BufferedRead的readLine()方法
- 一个java io流做的通讯录,有个问题,代码在下面?
- 从内存中读取图片问题!!
- 在java 中sun.misc.BASE64Encoder类起什么作用??在j2se的帮助文档中并没有此项,但在java的运行时包含
- JAVA程序:把一个给定的数组按从小到大的顺序排列出来
- swing下面如何在下拉菜单中添加横杠分隔符
- 请问高手:java中的main函数启动的具体情况是怎么的?
- 求用javaSwing进行硬件串口编成的例子
- 请问用到swing的application编译成脱离jre的exe文件,用什么工具可以做到只有几百K Byte呢?
- jdbc?
- 怎么将Resultset里的内容在窗口表格中显示出来?
- 高手进来一下,如何获得当前活动Frame的焦点??
定义说是可以调用被类实现的接口中的方法!但接口中没有Object中的方法啊?比如说toString()
interface A{}
public class B implements A{
public void xxx(){};
public static void main(String [] args){
A a = new B();
a.xxx();
System.out.println(a.toString());
}
}
Class 类的实例表示正在运行的 Java 应用程序中的类和接口,而Class 继承Object,所以接口也天生既有Object类的方法
得从这里分析起,A是接口 a 是引用, new B() 是对象.
a这个引用, 指向一个实现了 A接口的对象, 也就是 B()
因为所有的对象都继承Object, 所以任何接口的引用, 指向的对象一定会是Object
所以 a.equals() 等绝对是合法的调用, 所以java默认允许这么写.
就好象默认import java.lang.*; 不需要你再声明
实质还是抽象类不是
JDK默认加载java.lang包
然后大家继续争
interface A{}
public class B implements A{
public static void main(String [] args){
A a = new B();
System.out.println(a.toString());
}
} 楼主要弄清一个问题,就是a是对象,所有对象都继承Object,所以a.to
String()方法一点问题都没有,这跟接口无关.
{
}public class B extends Object implements A
{
public static void main(String[] args)
{
A a = new B();
System.out.println(a.toString());
}
}那么A就相当于B的父类,父类可以调用子类的方法这不是正是多态的体现吗?
declares a public abstract member method m with signature s, return type r,
and throws clause t corresponding to each public instance method m with
signature s, return type r, and throws clause t declared in Object, unless a
method with the same signature, same return type, and a compatible throws
clause is explicitly declared by the interface. It is a compile-time error if the
interface explicitly declares such a method m in the case where m is declared to
be final in Object.好好理解一下就明白了。