Java接口与多态

编程入门 行业动态 更新时间:2024-10-09 22:20:47

1.一个类可以实现多个接口

2.一个类可以从一个类派生(子类)同时实现n个接口

3.接口可以嵌套

4.接口支持常量(final)

5.接口可以继承


package .zzx.base.demo;public interface  PC{
//	public String start();   //接口不能用private修饰符public void start();	//接口默认是publicpublic void stop(); }
package .zzx.base.demo;
/*** * PC是接口* 接口的子类是SoundCard*/
public class SoundCard implements PC {     @Override/*public String start() {return "声卡启动";}*/
/*** 重写start()方法*/public void start() {System.out.println("声卡启动");}
/*** 重写stop()方法*/@Overridepublic void stop() {System.out.println("声卡关闭");}}
package .zzx.base.demo;import java.io.PrintStream;public class NetworkCard implements PC {//	private Breakdown p = new Breakdown();@Override/*public String start() {return "网卡启动";}*/
/*** 重写start()方法*/public void start() {System.out.println("网卡启动"); }
/*** 重写stop()方法*/@Overridepublic void stop() {System.out.println("网卡关闭");}/*public void fault(PC obj) {this.p.print(obj.start());}*/}
package .zzx.base.demo;public class Test {public static void main(String[] args) {PC pc = new  SoundCard();    //子类赋值给接口,创建实例pc.start();					//实例调用start方法pc.stop();PC pc2 = new NetworkCard();pc2.start();pc2.stop();/*SoundCard s = new SoundCard();NetworkCard n = new NetworkCard();n.fault(s);n.fault(n);*/}}

使用fault的方法时,参数可以是任何PC接口的实现类的对象,不必为不同的类型建立不同的fault


package .zzx.base.demo;public interface  PC{public String start();   //接口不能用private修饰符
//	public void start();	//接口默认是publicpublic void stop(); }
package .zzx.base.demo;
/*** * PC是接口* 接口的子类是SoundCard*/
public class SoundCard implements PC {     @Overridepublic String start() {return "声卡启动";}
/*** 重写start()方法*/
/*	public void start() {System.out.println("声卡启动");}*/
/*** 重写stop()方法*/@Overridepublic void stop() {System.out.println("声卡关闭");}}
package .zzx.base.demo;public class NetworkCard implements PC {private Breakdown p = new Breakdown();@Overridepublic String start() {return "网卡启动";}
/*** 重写start()方法*//*public void start() {System.out.println("网卡启动"); }*/
/*** 重写stop()方法*/@Overridepublic void stop() {System.out.println("网卡关闭");}public void fault(PC obj) {       //fault方法可以实现可扩展性this.p.print(obj.start());}}
package .zzx.base.demo;public class Breakdown {     //实现print方法,可以实现相同性public void print(String start) {System.out.println(start);System.out.println("出现故障");}}
package .zzx.base.demo;public class Test {public static void main(String[] args) {/*PC pc = new  SoundCard();    //子类赋值给接口,创建实例pc.start();					//实例调用start方法pc.stop();PC pc2 = new NetworkCard();pc2.start();pc2.stop();*/SoundCard s = new SoundCard();    NetworkCard n = new NetworkCard();n.fault(s);  //实例调用fault方法,传给参数调用实例n.fault(n);}}

更多推荐

接口,多态,Java

本文发布于:2023-05-31 13:59:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/392997.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:接口   多态   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!