龙空技术网

Java 接口&多态习题答案

IT技术资源共享 489

前言:

目前小伙伴们对“java接口与多态”大致比较关怀,我们都需要分析一些“java接口与多态”的相关资讯。那么小编也在网摘上收集了一些对于“java接口与多态””的相关文章,希望你们能喜欢,各位老铁们快快来学习一下吧!

基础题目

第一题:概念辨析

什么是接口,如何定义接口?接口,是Java语言中一种引用类型,是方法的集合。使用interface关键定义接口,其中可以定义抽象方法,默认方法,私有方法,静态方法等方法。什么叫做多态,条件是什么?一类事物的行为,具有多种表现形式。条件:继承或者实现【二选一】方法的重写。父类引用指向子类对象。使用多态特性,带来了什么样的好处?增强方法的扩展性和复用性。使用多态特性,注意什么样的弊端?由于类型的提升,导致调用子类对象特有的方法,必须向下转型。

第二题:语法练习

语法点:接口按步骤编写代码,效果如图所示:

编写步骤:定义接口A,普通类B实现接口AA接口中,定义抽象方法showA。A接口中,定义默认方法showB。B类中,重写showA方法测试类中,创建B类对象,调用showA方法,showB方法。参考答案.:

 public class Test2 { public static void main(String[] args) { B b = new B(); b.showA(); b.showB(); } }  interface A{ public abstract void showA(); public default void showB(){ System.out.println("BBBB"); } }  class B implements A { @Override public void showA() { System.out.println("AAAA"); } }

第三题:语法练习

语法点:接口按步骤编写代码,效果如图所示:编写步骤:定义接口A,普通类B实现接口A。A接口中,定义抽象方法showA。A接口中,定义私有方法show10(String str),循环打印10次str。A接口中,定义默认方法showB10,showC10,分别调用show10方法,传入参数。测试类中,创建B对象,调用showA方法,showB10方法,showC10方法参考答案.:

 public class Test3 { public static void main(String[] args) { BB b = new BB(); b.showA(); b.show10B(); b.show10C(); } }  interface AA{ public abstract void showA(); public default void show10B(){ show10("BBBB"); }  public default void show10C(){ show10("CCCC"); }  private void show10(String str){ for (int i = 0; i < 10; i++) { System.out.print(str+" "); } System.out.println(); } }  class BB implements AA { @Override public void showA() { System.out.println("AAAA"); }  }
第四题:语法练习

语法点:接口,静态

按步骤编写代码,效果如图所示:

编写步骤定义接口A,普通类B实现接口A。A接口中,定义抽象方法showA。A接口中,定义私有静态方法show10(String str),循环打印10次str。A接口中,定义静态方法showB10,showC10,分别调用show10方法,传入参数。B类中,定义静态方法showD测试类中,使用A接口,调用静态showB10方法,showC10方法,测试类中,使用B类,调用showA方法,showD方法。参考答案.:

 public class Test4 { public static void main(String[] args) { AAA.showB(); AAA.showC(); BBB bbb = new BBB(); bbb.showA(); BBB.showD(); } }  interface AAA { public abstract void showA(); public static void showB(){ System.out.println("static BBBB");  show10("BBBB"); }  public static void showC(){ System.out.println("static CCCC");  show10("CCCC"); }  private static void show10(String str) { for (int i = 0; i < 10; i++) { System.out.print( str+" "); } System.out.println(); } }  class BBB implements AAA { @Override public void showA() { System.out.println("AAA"); }  public static void showD(){ System.out.println("DDDD"); } }
第五题:语法练习

语法点:接口,多态

按步骤编写代码,效果如图所示:

编写步骤定义接口Universe,提供抽象方法doAnything。定义普通类Star,提供成员发光shine方法定义普通类Sun,继承Star类,实现Universe接口测试类中,创建Star对象,调用shine方法测试类中,多态的方式创建Sun对象,调用doAnything方法,向下转型,调用shine方法。参考答案.:

 	public class Test5 { 	 public static void main(String[] args) { 	 Star s = new Star(); 	 s.shine(); 	 	 System.out.println("===================="); 	 	 Universe universe = new Sun(); 	 	 universe.doAnything(); 	 Sun sun = (Sun) universe; 	 sun.shine(); 	 } 	} 	 	interface Universe{ 	 public abstract void doAnything(); 	} 	 	class Star { 	 public void shine(){ 	 System.out.println("star:星星一闪一闪亮晶晶"); 	 } 	} 	class Sun extends Star implements Universe{ 	 @Override 	 public void doAnything() { 	 System.out.println("sun:太阳吸引着9大行星旋转"); 	 } 	 @Override 	 public void shine() { 	 System.out.println("sun:光照八分钟,到达地球"); 	 } 	}

标签: #java接口与多态 #java第五版课后答案解析