JAVA继承、接口

JAVA继承、接口

接口1

public interface IAction1 {
    void run();
}

接口2

public interface IAction2 {
    void run();
}

Animal

public class Animal {
    String name; //属性
    int age; //属性
?
    // 认构造函数
    public Animal() {}
// 带参构造函数
    public Animal(String name,int age) {
        this.name = name;
        this.age = age;}
// 重写父类toString
    @Override
    public String toString() {
        return "Animal("+"name="+name+‘\‘‘+",age="+age+‘)‘; }
    // 重写父类equls
    @Override
    public boolean equals(Object obj) {
        return super.equals(obj);}
    // 快速生成的接口
    public String getName() {
        return name; }
    public void setName(String name) {
        this.name = name; }
    public int getAge() {
        return age;}
    public void setAge(int age) {
        this.age = age; }
}
?

Dog

// 继承Animal(关键字extends)
// 接口IAction1(关键字 implements)
public class Dog extends Animal implements IAction1 {
    // 带参构造函数调用父类带参构造(调用父类关键字super)
    public Dog(String name,int age) {
        super(name,age);}

    @Override
    public String getName() {
        return "dog"; }
?
    @Override
    public void run() {
        System.out.println("IAction1.run"); }
    // 增加接口2
    public void addAction(IAction2 iAction2)
   {iAction2.run();}}
?

MAIN

public class Main{    public static void main(String[] args) {        // 实例        Dog dog = new Dog("秋田犬",1);        // 使用内部类对象        //dog.addAction(new MyClass());        // 这种语法做了三件事: new IAction2(){....}        // 1. 创建一个匿名类        // 2. 实现了IAction2接口        // 3. 返回一个匿名类对象        dog.addAction(new IAction2() {            @Override            public void run() {                System.out.println("IAction2 run"); }         });        dog.run();   }}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...