Java面向对象之接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象之接口相关的知识,希望对你有一定的参考价值。

  1. 接口(interface):

     接口的地位等同于class,换句话说接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用abstract关键字,也可以不适用,通常情况下,都会省略掉abstract关键字

  2. 可以将接口看做是特殊的抽象类(抽象类中可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法)

  3. 类可以实现接口。实现使用关键字implement表示,代表了某个类实现了某个接口

  4. 一个类实现了某个接口。那么该类必须实现接口中声明的所有方法,如果该类是个抽象类,那么就无需实现接口中的方法

  5. Java是单继承的,也就是说某个类只能有唯一一个父类,一个类可以实现多个接口,多个接口之间用逗号隔开     

           package com.yuanzijain02;

interface MyInterface{
	public void output();
}
interface MyInterface2{
	public void output2();
}
class MyClass implements MyInterface, MyInterface2{
	public void output(){
		System.out.println("output");
	}

	@Override
	public void output2() {
		// TODO 自动生成的方法存根
		System.out.println("output2");
	}
	
}
public class Test3 {
		public static void main(String[] args) {
			MyClass myClass = new MyClass();
			myClass.output();
			myClass.output2();
		}
}

6.一个类可以同时继承一个父类,同时在实现多个接口

package com.yuanzijain02;

interface MyInterface{
	public void output();
}
interface MyInterface2{
	public void output2();
}
class MyParent{
	public void output3(){
		System.out.println("output3");
	}
}
class MyClass extends MyParent implements MyInterface, MyInterface2{
	public void output(){
		System.out.println("output");
	}

	@Override
	public void output2() {
		// TODO 自动生成的方法存根
		System.out.println("output2");
	}
	
}
public class Test3 {
		public static void main(String[] args) {
			MyClass myClass = new MyClass();
			myClass.output();
			myClass.output2();
			myClass.output3();
		}
}

7.多态:所谓多态就是指父类型的引用可以指向子类型的对象,或者是接口类型的应用可以指向实现该接口的类的实例,关于与实现接口的类之间的强制类型转换方式与父类和子类之间的强制类型转换一样

package com.yuanzijain03;

public class Test4 {
		public static void main(String[] args) {
			
			//向上类型转换
			/*
			AA bb = new BB(); //接口类型的引用指向
			bb.output();
			*/
			//向下类型转换
			/*
			AA aa = new BB();
			BB bb = (BB)aa;
			bb.output();
			*/
			
		}
}
interface AA{
	public void output();
}

class BB implements AA{
	public void output(){
		System.out.println("BB");
	}
}


以上是关于Java面向对象之接口的主要内容,如果未能解决你的问题,请参考以下文章

JAVA SE面向对象编程之Lambda

Java面向对象之接口

java学习笔记之面向对象接口

java学习笔记之面向对象多态

JavaSE入门学习20:Java面向对象之接口(interface)

Java面向对象练习题多态之字母表