栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java接口





package itheima_09_jiekou;

public abstract class Animal {
    private String name;
    private int age;

    public Animal() {
    }

    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }

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

    public abstract void eat();
}

package itheima_09_jiekou;

public interface Jumpping {
    public abstract void jump();
}

package itheima_09_jiekou;


//类和接口之间要用implements,实现的意思
public class Cat extends Animal implements Jumpping{
    public Cat() {
    }

    public Cat(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }

    @Override
    public void jump() {
        System.out.println("猫会跳高");
    }
}

package itheima_09_jiekou;

public class Dog extends Animal implements Jumpping{
    public Dog() {
    }

    public Dog(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("狗吃肉");
    }

    @Override
    public void jump() {
        System.out.println("狗也会跳高");
    }
}

package itheima_09_jiekou;

public class AnimalDemo {
    public static void main(String[] args) {
        //创建对象,调用方法
        Jumpping a = new Cat();
        a.jump();
        System.out.println("---------------");

        Animal b = new Cat();
        b.setName("小灰");
        b.setAge(2);
        System.out.println(b.getName() + "," +b.getAge());
        b.eat();

 //       ((Cat)b).jump();
        System.out.println("---------------");
        b = new Cat("大橘",3);
        System.out.println(b.getName() + "," +b.getAge());
        b.eat();

        //真正使用的时候用以下这种写法
        //猫类继承了动物类,又实例化接口
        Cat c = new Cat();
        c.setName("小黑猫");
        c.setAge(3);
        System.out.println(c.getName() + "," +c.getAge());
        c.eat();
        c.jump();

        Dog d = new Dog();
        d.setName("我是大黄狗");
        d.setAge(3);
        System.out.println(d.getName() + "," +d.getAge());
        d.eat();
        d.jump();


    }
}

package itheima_09_jiekou;

public class InterImpl extends Object implements Inter1,Inter2,Inter3{

}

package itheima_09_jiekou;

public interface Inter1 extends Inter2,Inter3{
}



有些实例有某种行为,有些实例没有这种行为,就用接口来定义



package itheima_09_jiekou;

public interface InterEnglish {
    public void speak();
}

package itheima_09_jiekou;

public abstract class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    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;
    }
    public void eat(){
        System.out.println("人要吃饭");
    }
}

package itheima_09_jiekou;

public abstract class Catch extends Person{
    public Catch() {
    }

    public Catch(String name, int age) {
        super(name, age);
    }
    public void teach(){
        System.out.println("教练会教学");
    }
}

package itheima_09_jiekou;

public abstract class Athlete extends Person {
    public Athlete() {
    }

    public Athlete(String name, int age) {
        super(name, age);
    }
    public void study(){
        System.out.println("运动员会学习");
    }
}

package itheima_09_jiekou;

public class BaskCatch extends Catch{
    public BaskCatch() {
    }

    public BaskCatch(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("我是篮球教练,我要吃饭");
    }

    @Override
    public void teach() {
        System.out.println("我是篮球教练,我会交学员打篮球");
    }
}

package itheima_09_jiekou;

public class TableCatch extends Catch implements InterEnglish{
    public TableCatch() {
    }

    public TableCatch(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("乒乓球教练也要吃饭");
    }

    @Override
    public void teach() {
        System.out.println("我会交学员打乒乓球");
    }

    @Override
    public void speak() {
        System.out.println("我要和外国人交流,我要说英语");
    }
}

package itheima_09_jiekou;

public class BaskAthlete extends Athlete{
    public BaskAthlete() {
    }

    public BaskAthlete(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("我是篮球运动员,我吃篮球餐");
    }

    @Override
    public void study() {
        System.out.println("我是篮球运动员,我要学习打篮球");
    }
}

package itheima_09_jiekou;

public class TableAthlete extends Athlete implements InterEnglish{
    public TableAthlete() {
    }

    public TableAthlete(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("我是乒乓球运动员,我吃乒乓球餐");
    }

    @Override
    public void study() {
        System.out.println("我是乒乓球运动员,我要学习打乒乓球");
    }

    @Override
    public void speak() {
        System.out.println("我是乒乓球运动员,我会说英语");
    }
}

测试类

package itheima_09_jiekou;

public class PersonDemo {
    public static void main(String[] args) {
        //创建对象
        TableAthlete p1 = new TableAthlete();
        p1.setName("p1");
        p1.setAge(25);
        System.out.println(p1.getName() + "," +p1.getAge());
        p1.eat();
        p1.study();
        p1.speak();

        BaskAthlete b1 = new BaskAthlete("b1",24);
        System.out.println(b1.getName() + "," + b1.getAge());
        b1.eat();
        b1.study();


    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673011.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号