首页 > 编程语言 > 详细

JAVA继承、接口

时间:2019-09-18 19:59:29      阅读:90      评论:0      收藏:0      [点我收藏+]

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();
   }
}

JAVA继承、接口

原文:https://www.cnblogs.com/ltyandy/p/11544577.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!