抽象类abstract;接口和接口特点;接口举例;

来源:互联网 发布:人工智能机器人代理 编辑:程序博客网 时间:2024/05/05 21:48


其中第4条:所谓的“子类复写所有的抽象方法”,其表现形式为:方法名( ) { },这个大括号一定要加,表示复写了该方法的所有内容,即使复写后是空的。



上图的最后一行字说明:抽象方法必须在抽象类中,但是抽象类不一定要写抽象方法(后面会讲到java中有一个例子)。

我对于抽象父类的理解就是:父类是老板,规定子类去做一些事情,但具体怎么做我不知道,我只定义方法的名称,内容子类自己去写。




interface Inter{public static final int NUM = 7;public abstract void show();}class Test implements Inter{public void show(){}}public 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);//可以运行,因为interface也可以单独生成一个class类文件,      //interface的类文件一加载进内存,static的NUM就存在了,所以可以调用。}}



接口与类的关系:接口可以被多实现;

类与类之间、接口与接口之间的关系:类与类之间不能多继承,但是接口之间可以多继承


但是如下情况,接口之间不能多继承:就是两个接口包含有相同名称的方法,且方法的返回值类型不同。

例如:

interface A{int show();}interface B{boolean show();}interface C extends A,B{//int show();//boolean show();//C接口继承AB,所以相当于有上两行的方法,所以出错。 }


abstract class Student{abstract void study();void sleep(){System.out.println("sleep now");}}class Mike extends Student implements Smoke{void study(){System.out.println("study hard");} public void smoke(){//此处的public必须加!!System.out.println("smoke quikly");}}interface Smoke{public abstract void smoke();}public class Interface_2 {public static void main(String[] args){Mike m = new Mike();m.smoke();}}



0 0
原创粉丝点击