java[16]使用接口

接口:

比抽象类更加抽象的是接口, 在接口中所有的方法都是抽象的。

package com.test;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Computer computer = new Computer();
		Carema camara = new Carema();
		Phone phone = new Phone();
		computer.Useusb(phone);
		computer.Useusb(camara);
		System.out.println(Usb.a);
		
	}

}


//创建接口 接口中的方法在类中必须要实现 
//接口中的方法只有方法名字,没有主体,类似多态 ,可添加全局变量  ;
//  
interface Usb{
	//声明两个方法
	int a = 50;
	public void start();
	public void stop();
	
}

interface usa{
	
}


//创建类 camara  实现usb接口  
//一个重要原则:当一个类实现了一个接口,就要求该类将这个接口的所有方法都实现
//实现多个接口使需要实现多个接口中的所有方法;
class Carema implements Usb,usa {
	public void start() {
		System.out.println("我是相机,我开始工作了");
	}
	public void stop() {
		System.out.println("我是相机,我停止工作了");
	}
	
}

class Phone implements Usb {
	public void start() {
		System.out.println("我是手机,我开始工作了");
	}
	public void stop() {
		System.out.println("我是手机,我停止工作了");
	}
	
}

//创建接口调用类 
class Computer {
	//开始使用USB接口 
	public void Useusb(Usb usb) {
		usb.start();
		usb.stop();
	}
	
}





 

 

  1. 接口不能被实例化;
  2. 接口中的方法都不能有主体;
  3. 一个类可以实现多个接口;
  4. 接口中可以有变量;接口中的变量需要被初始化(赋值),默认是static可作为全局变量使用;
  5. 接口不能继承其他的类,但是可以继承别的接口;

Java的继承是单继承,只能有一个父类:

  1. 实现接口可以看做是对继承的补充;
  2. 实现接口可以在不打破继承关系的前提下,对某个类进行扩展,很灵活;
package com.test;

public class Monkey {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Littlemonkey sunwukong;
		sunwukong = new Littlemonkey();
		sunwukong.Jump();
		sunwukong.Fly();
		sunwukong.Swimming();
		
		
		

	}

}

class Oldmonkey{
	String name;
	int age;
	public void Jump() {
		
		System.out.println("Monkey can jump high!!!");
	}
	
	
}
interface Bird {
	
	public void Fly();
	
}

interface Fish{
	
	public void Swimming();
}




class Littlemonkey extends Oldmonkey implements Bird,Fish{

	@Override
	public void Swimming() {
		// TODO Auto-generated method stub
		System.out.println("monkey learns to swim!!");
		
	}

	@Override
	public void Fly() {
		// TODO Auto-generated method stub
		System.out.println("monkey learns to fly!!");
		
	}
		
	
}

猜你喜欢

转载自blog.csdn.net/qq_38125626/article/details/81095425