1、抽象类里面可以有普通方法,而接口里面的方法,
只能是抽象方法。
接口里
没有构造器
2、接口名以I开头
3、一个接口可以继承多个接口
4、接口不能被实例化。
5、一个类可以实现多个接口
6、修饰类,只能是共有的或默认的。
7、接口里面的属性,不是接口自己使用的,是给其他类使用的。
8、静态属性、静态方法和非静态的属性都可以被继承和隐藏而不能被重写,因此不能实现多态,不能实现父类的引用可以指向不同子类的对象。非静态方法可以被继承和重写,因此可以实现多态。
9、接口类型可以用它的实现类赋值。
10、面向接口编程:以接口的方式进行声明,以实现类的方式进行赋值。
11、接口表现一种能力,体现在方法名上,接口表现一种约束,体现在参数上。
*/
interface Inter
{
public static final int NUM = 3;//public static final 可以不用写
public abstract void show(); //public abstract 可以不用写,接口中缺少的会自动加上。
}
interface InterA
{
public abstract void method();
}
/*
一个类在继承一个类的同时还可以实现多接口。
*/
class Demo
{
public void function(){}
}
class Test extends Demo implements Inter,InterA
{
public void show(){}
public void method(){}
}
/*
接口之间也可以实现多继承
*/
interface A
{
void methodA();
}
interface B //extend A
{
void methodB();
}
interface C extends B,A//接口之间存在多继承
{
void methodC();
}
class D implements C
{
public void methodA(){}
public void methodB(){}
public void methodC(){}
}
class InterfaceDemo
{
public static void main(String[] args)
{
Test t = new Test();
System.out.println(t.NUM);
System.out.println(Test.NUM);
System.out.println(Inter.NUM);
}
}