Java面向对象-接口
接口定义:一种特殊的“抽象类”,没有普通方法,由全局常量和公共的抽象方法所组成;
1,接口的定义
接口定义用关键字 interface
我们给下实例代码:
package com.java1234.chap03.sec12;
/**
* 定义一个接口A
* @author user
*
*/
public interface A {
/**
* 全局常量
*/
public static final String TITLE="www.java1234.com";
/**
* 定义一个抽象方法 abstract可以省略
*/
public abstract void a();
}注意点:由于接口里的方法都是抽象的,所以abstract可以省略,实际开发一般都是省略的,开发者的习惯;
2,实现接口 可以实现一个或者多个接口
实现接口我们用implements关键字,我们来搞一个测试方法:
package com.java1234.chap03.sec12;
public class Test implements A{
@Override
public void a() {
System.out.println("a方法");
}
public static void main(String[] args) {
Test t=new Test();
t.a();
System.out.println(Test.TITLE);
}
}实现接口 ,类里要实现接口里的抽象方法;
运行输出:
a方法
www.java1234.com为了演示实现多个接口,我们这里再定义一个接口:
package com.java1234.chap03.sec12;
/**
* 定义一个接口B
* @author user
*
*/
public interface B {
/**
* 全局常量
*/
public static final String TITLE2="java知识分享网";
/**
* 定义一个抽象方法 abstract可以省略
*/
public abstract void b();
} 我们修改下Test类:
package com.java1234.chap03.sec12;
public class Test implements A,B{
@Override
public void a() {
System.out.println("a方法");
}
@Override
public void b() {
System.out.println("b方法");
}
public static void main(String[] args) {
Test t=new Test();
t.a();
t.b();
System.out.println(Test.TITLE);
System.out.println(Test.TITLE2);
}
}实现多个接口,中间用逗号隔开,并且实现所有抽象方法:
运行输出:
a方法
b方法
www.java1234.com
java知识分享网
3,继承类和实现接口 先继承,后实现接口
我们先定义一个类C:
package com.java1234.chap03.sec12;
public class C {
public void c(){
System.out.println("c方法");
}
}我们再修改下测试类Test 继承C类,实现A,B接口,这里有个注意点,java规范,必须先继承后实现接口;
我们上下代码:
package com.java1234.chap03.sec12;
public class Test extends C implements A,B{
@Override
public void a() {
System.out.println("a方法");
}
@Override
public void b() {
System.out.println("b方法");
}
public static void main(String[] args) {
Test t=new Test();
t.a();
t.b();
t.c();
System.out.println(Test.TITLE);
System.out.println(Test.TITLE2);
}
}运行输出:
a方法
b方法
c方法
www.java1234.com
java知识分享网
4,接口的继承 接口可以多继承
我们定义一个D接口 继承A,B接口:
package com.java1234.chap03.sec12;
public interface D extends A,B{
public void d();
}这里再加一个d方法;
我们重新搞一个测试方法 继承C类,实现D接口:
package com.java1234.chap03.sec12;
public class Test2 extends C implements D{
@Override
public void a() {
System.out.println("a方法");
}
@Override
public void b() {
System.out.println("b方法");
}
@Override
public void d() {
System.out.println("d方法");
}
public static void main(String[] args) {
Test2 t=new Test2();
t.a();
t.b();
t.c();
t.d();
System.out.println(Test2.TITLE);
System.out.println(Test2.TITLE2);
}
}运行输出:
a方法
b方法
c方法
d方法
www.java1234.com
java知识分享网
上一篇:Java面向对象-抽象类
下一篇:Java面向对象-对象的多态性