java1234开源博客系统
博客信息

Java面向对象-接口

发布时间:『 2016-10-12 11:01』  博客类别:Java核心基础  阅读(7611) 评论(0)

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     接口  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有