接口

接口

接口就是一种规范,实现接口就是实现接口中的规定的抽象方法

1.定义接口的语法格式:public interface 接口名称{内容}

//注意:接口类这里是没有()的
public interface USB {

}

2.接口不能定义构造方法,可以放静态常量(默认修饰符就是public static final 数据类型 变量名 = 值)
3.不能定义普通方法,但是可以定义抽象方法,方法的默认修饰符是:public abstract 返回值 方法名();

注意

静态常量的定义,字母全部用大写。
public interface USB {
	//这是复杂的写法
	public static final String NAME= "yang";
	
	//这是复杂的抽象方法的写法
	public abstract void method() ;
}
public interface USB {
	//这是简写的写法
	String NAME = "yang";

	//这是简化的抽象方法的写法
	public void method();
}

4.使用implements关键字实现接口,实现接口的同时必须实现接口中的抽象方法

/*
	这是一个名为USB的接口类
*/
public interface USB {
	//这是我接口里面的第一个方法
	public void method();
	//这是我接口里面的第二个方法
	public void method1();
}

注意

继承接口的类,必须要继承其中的抽象方法,否则直接报错
/*
	这是我为了继承接口类,而创建的一个类名为Upan的子类
*/
public class Upan implements USB {
	//这是继承下来的第一个方法
	public void method() {
		System.out.println("U盘传入数据");
	}
	//这是继承下来的第二个方法
	public void method1() {
		System.out.println("U盘读取数据");
	}
}
/*
	这是一个类名为Test的测试类
*/
public class Test {
	public static void main(String[] args) {
		USB usb = new Upan();//使用多态的方式使用接口
		
		//调用第一个方法
		usb.method(); //输出结果为:(U盘传入数据)

		//调用第二个方法
		usb.method1();//输出结果为:(U盘读取数据)
	}
}

5.在创建对象的时候,将接口当做父类来处理,使用多态的方式创建对象
6.Java中支持多个接口,既Java中可以继承多个接口,语法格式实例:public class Upan implements USB,Page{};

一个友情提示

接口和静态的方法和属性的修饰符,最好全部用public,以免后面继承的时候因为私有性的问题而报错。
/*
	创建一个类名为Page的第二个接口类
*/
public interface Page {
	public void print();
}
public class Upan implements USB,Page {
	//这是继承下来的第一个方法
	public void method() {
		System.out.println("U盘传入数据");
	}
	//这是继承下来的第二个方法
	public void method1() {
		System.out.println("U盘读取数据");
	}
	//这是继承了新创建Page类里面的方法
	public void print() {
		System.out.println("这是Page的方法");
	}
}
public class Test {
	public static void main(String[] args) {
		USB usb = new Upan();//使用多态的方式使用接口
		
		//调用第一个方法
		usb.method(); //输出结果为:(U盘传入数据)

		//调用第二个方法
		usb.method1();//输出结果为:(U盘读取数据)
		
		//向下转型,调用子类独有的方法。(这个我在多态的哪篇博客里面有讲到)
		Upan upan = (Upan)usb;
		upan.print();//输出结果为:(这是Page的方法)
	}
}

6.一个接口可以继承多个其他的接口

/*
	这是我为了继承多个接口而创建的Total接口
*/
public interface Total extends USB,Page {
	//定义一个add方法
	public void add();
}
/*
	同样我创建一个Other的普通类,当我让他继承Total的时候他会把包括Total在内的三个接口里面的方法全部调出来
*/
public class Other implements Total{
	//这是USB接口生成的第一个方法
	public void method() {
		
	}
	//这是USB接口生成的第二个方法
	public void method1() {
		
	}
	//这是Page生成的方法
	public void print() {
		
	}
	//这是Total生成的方法
	public void add() {
	}
}

7.抽象类可以继承另一个抽象类的同时,也可以继承多个接口

/*
	创建了一个类名为A的抽象类
*/
public abstract class A {
	//
	public abstract void A();
}
/*
	创建一个类名为B的抽象类
*/
public abstract class B extends A implements USB,Page,Total {
	public abstract void B();
}
/*
	最后创建一个普通类,类名为C,如何成为B类的子类。这样就可以调用所有类的方法。
*/
public class C extends B{
	//这是USB接口生成的第一个方法
	public void method() {
		
	}
	//这是USB接口生成的第二个方法
	public void method1() {
		
	}
	//这是Page生成的方法
	public void print() {
		
	}
	//这是Total生成的方法
	public void add() {
		
	}
	//这是B生成的方法
	public void B() {
		
	}
	//这是A生成的方法
	public void A() {
		
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值