我挺喜欢老师简化的一个概念,接口就是只有抽象方法的抽象函数。
虽然他补充道这个概念不是对的,只是帮助理解,但是解决了我心里的一个问题。
学到这里总会有些混乱,比如,抽象类中是否可以定义费抽象方法,非抽象类是否可以定义抽象方法,接口中是否可以有非抽象方法。如果说接口是可以实现多个的,如果我实现了多个接口,但是接口中有两个同名同参数,但是不同的返回值,是否可以编译通过,是否可以运行。视频中老师都没有讲到这些细节。
实践出真知,自己使用Eclipse定义了一些接口还有抽象类去做实践。
public class Demo2 extends C implements A,B
{
public static void main(String[] args)
{
}
@Override
public int set() {
// TODO Auto-generated method stub
return 0;
}
}
interface A
{
public abstract int show();
}
interface B
{
public abstract String show();
}
abstract class C
{
public void show()
{
System.out.println("C");
}
public abstract int set();
}
实践证明,如果实现多个同名但是不同返回值的接口,编译器会报错,第二,抽象方法一定要在抽象类中,不可放在普通类中,但是抽象类中可以定义非抽象方法
|
|