java接口练习:看下图实现如下接口和类,并完成Adventure中的主方法。

package pack1;

public interface CanFly {
    void fly();

}
package pack1;

public interface CanSwim {
    void swim();

}
package pack1;

public abstract  class ActionCharacter {
    abstract void fight(String emp);
    void speak(String s)
    {
        System.out.println(s);
    }
}
package pack1;

public class Hero extends ActionCharacter implements CanSwim, CanFly {
    String name;

    public Hero(String name) {
        super();
        this.name = name;
    }

    @Override
    public void fly() {
        System.out.println(this.name+"会飞");

    }

    @Override
    public void swim() {
        System.out.println(this.name+"会游泳");

    }

    @Override
    void fight(String emp) {
        System.out.println(this.name+"打架很厉害");

    }

}
package pack1;

public class Adventure {

    public static void main(String[] args) {
        Hero hb=new Hero("超人");
        hb.swim();
        hb.fly();
        hb.fight(null);
        CanFly cf=hb;
        cf.fly();
        CanSwim cs=hb;
        cs.swim();
        ActionCharacter ac=hb;
        ac.fight("超人");
        ac.speak("你好");

    }

}
时间: 2024-08-04 09:18:22

java接口练习:看下图实现如下接口和类,并完成Adventure中的主方法。的相关文章

Java基础-接口看下图实现如下接口和类,并完成Adventure中的主方法

package hanqi; public interface CanSwim { void swim(); } package hanqi; public interface CanFly { public void fly(); } package hanqi; public abstract class ActionCharacter { abstract void fight(String emp); abstract void speak(String s); } package ha

Java之面向对象概述,类,构造方法,static,主方法,对象

一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响.与面向对象明显的不同就是封装.继承.类. "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想."面向过程"也可称之为"面向记录"编程思想,他们不支持丰富的"面向对象"特性(比如继承.多态),并且它们

java中synchronized使用方法

synchronized的一个简单样例 public class TextThread { /**  * @param args  */ public static void main(String[] args)  {  // TODO 自己主动生成方法存根        TxtThread tt = new TxtThread();        new Thread(tt).start();        new Thread(tt).start();        new Thread(

java Vamei快速教程04 封装和接口

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型.对象可以有状态和动作,即数据成员和方法. 到现在为止,数据成员和方法都是同时开放给内部和外部的.在对象内部,我们利用this来调用对象的数据成员和方法.在对象外部,比如当我们在另一个类中调用对象的时,可以使用 对象.数据成员 和 对象.方法() 来调用对象的数据成员和方法. 我们将要封装(encaps

java中,一个类实现某个接口,必须重写接口中的所有方法吗

不一定,关键要看子类是否是抽象类.如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1.抽象类定义抽象类往往用来表征对问题领域进行分析.设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象.通常在编程语句中用 abstract 修饰的类是抽象类.在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象:在java中,含有抽象方法的类称为抽象类,同样不能生成对象.抽象类是不完整的,它只能用作基类

JAVA集合详解(Collection和Map接口)

在Java的util包中有两个所有集合的父接口Collection和Map,它们的父子关系:            java.util        +Collection 这个接口extends自 --java.lang.Iterable接口           +List 接口               -ArrayList 类              -LinkedList 类              -Vector 类     此类是实现同步的 +Queue 接口         

JAVA程序 写供别人调用的接口方法的时候 异常应该怎么处理?

要看出现的是哪种异常了.如果是使用某些定义好的函数,并且函数本身会产生异常处理方法一般两种:1.自己用try{}catch(){}语句捕获异常并处理.2.在定义接口的后面写上throw Exception.把异常抛出让使用接口的人处理异常.两种方法都可以.但如果是RuntimeException异常,那就是自己程序某些地方写错了,那你就必须找到并修改程序.JAVA程序 写供别人调用的接口方法的时候 异常应该怎么处理?,布布扣,bubuko.com

Java编程思想学习(七) 抽象类和接口

1.抽象类和抽象方法 抽象方法:不完整的,仅有声明而没有方法体. abstract void f(); 抽象类:包含抽象方法的类.(若一个类包含一个或多个抽象方法,则该类必须限定为抽象的.) 1.用抽象类直接创建对象是不安全的,因为这个抽象类是不完整的.编译器通过这种方式保证了抽象类的纯粹性. public abstract class Person { public abstract void eat(); public abstract void pee(); public abstract

黑马程序员——Java基础——面向对象——继承、抽象类、接口、多态、包、内部类、异常等

第一讲 继承 1.继承: 当多个类拥有相同的功能时,那么这些类不需要每个都写这些相同的功能,只需要把相同功能抽到 一个单独的类中,继承这个类就能获得这些相同的功能: (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构. 要了解这个体系结构中最共性的内容,就看最顶层的类. 要使用这个体系的功能,就用最底层的类创建对象 (2)好处: A.提高代码复用性: B.继承的出现,让类与类之间产生关系,为多态的前提 (3)特点: A.只能单继承(准确的说是java对多继承进行优化,避