接口接口概念     .接口就似乎一种公共规范的标准,只要符合规范标准,大家都有的用   例如市面上所有的usb接口都是一样的,就是遵循了那么一种规范     .java中的接口更多的体现在对行为的抽象接口的特点     1.接口用关键字interface表示         public interface 接口名{}     2.类接口的实现用implements表示         public class 类名 interface 接口名{}     3.接口不能实例化         接口如何进行实例化呢? 参照多态的方式,通过对实现类对象进行实例化,这叫做接口多态。         多态的形式:具体类多态,抽象类多态,接口类多态         多态的前提:有继承关系和实现关系;有方法重写;有(父/接口)类引用指向(子类/实现)类对象     4.接口的实现类         要么重写接口中的抽象方法         要么是抽象实现类接口的成员特点     1.成员变量         只能是常量         默认修饰符:public static final    2.构造方法         接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体的存在         一个类如果没有父类,默认继承object类     3.成员方法         只能是抽象方法         默认修饰符 public static      4.关于接口中的方法,jdk8 和jdk9 中有一些新特性,以后再讲

以下为接口类的  猫狗案例 分为五个类

1.animal

2.animaldemo

3.cat

4.dog

5.inter接口类

 案例分析

需求:         .对猫和狗进行训练,他们就可以跳高了,这里加入了调高功能,请采用抽象类和接口类来实现猫狗案例,并在测试类中进行测试     思路:       1.定义接口类(jumpping)         .成员方法:跳高();                2.定义动物类(animal)         .成员变量:姓名,年龄         .构造方法:带参,无参         .成员方法:get/set方法,吃饭();                2.定义猫类(cat)继承动物类,实现跳高接口         .构造方法:带参,无参         .成员方法:重写吃饭{},重写跳高{}                3.定义狗类(dog)继承动物类,实现跳高接口         .构造方法:带参,无参         .成员方法:重写吃饭{},重写跳高{}                4.定义测试类(animaldemo),写测试代码    

 

1.animal

package 接口案例_猫和狗;

public abstract class animal {

private String name;

private int age;

//------成员变量------------------------------

public abstract void eat();

//------成员方法------------------------------

/**

*

*/

public animal() {

}

/**

* @param name

* @param age

*/

public animal(String name, int age) {

this.name = name;

this.age = age;

}

//------构造方法------------------------------

/**

* @return name

*/

public String getName() {

return name;

}

/**

* @param name 要设置的 name

*/

public void setName(String name) {

this.name = name;

}

/**

* @return age

*/

public int getAge() {

return age;

}

/**

* @param age 要设置的 age

*/

public void setAge(int age) {

this.age = age;

}

//------get/set------------------------------

}

2.animaldemo

package 接口案例_猫和狗;

public class animaldemo {

/*

需求:

.对猫和狗进行训练,他们就可以跳高了,这里加入了调高功能,请采用抽象类和接口类来实现猫狗案例,并在测试类中进行测试

思路:

1.定义接口类(jumpping)

.成员方法:跳高();

2.定义动物类(animal)

.成员变量:姓名,年龄

.构造方法:带参,无参

.成员方法:get/set方法,吃饭();

2.定义猫类(cat)继承动物类,实现跳高接口

.构造方法:带参,无参

.成员方法:重写吃饭{},重写跳高{}

3.定义狗类(dog)继承动物类,实现跳高接口

.构造方法:带参,无参

.成员方法:重写吃饭{},重写跳高{}

4.定义测试类(animaldemo),写测试代码

*/

public static void main(String[] args) {

//无参构造方法 猫

inter i = new cat();

i.jummping(); //因为在接口类里面只定义了一个jumping,所以在调用的时候,就只能调用一个jumping

animal a = new cat ();

a.setAge(5);

a.setName("加菲");

System.out.print(a.getAge()+"岁的猫 "+a.getName()+" 喜欢");

a.eat();

((cat)a).jummping();

// ((cat)a).jummping();这种强制转换能用

//带参构造方法 猫

a = new cat ("及算法",15);

System.out.print(a.getAge()+"岁的猫 "+a.getName()+" 喜欢");

a.eat();

//无参构造方法 狗

i = new dog();

i.jummping();

a = new dog ();

a.setAge(5);

a.setName("旺财");

System.out.print(a.getAge()+"岁的狗 "+a.getName()+" 喜欢");

a.eat();

((dog)a).jummping();

//带参构造方法 狗

a = new dog ("长白山吊睛白额狗",23);

System.out.print(a.getAge()+"岁的狗 "+a.getName()+" 喜欢");

a.eat();

}

}

3.cat

package 接口案例_猫和狗;

public class cat extends animal implements inter {

@Override

public void jummping() {

// TODO 自动生成的方法存根

System.out.println("跳了2米");

}

@Override

public void eat() {

// TODO 自动生成的方法存根

System.out.println("吃鱼");

}

//-------构造方法---------------------------------

/**

*

*/

public cat() {

super();

// TODO 自动生成的构造函数存根

}

/**

* @param name

* @param age

*/

public cat(String name, int age) {

super(name, age);

// TODO 自动生成的构造函数存根

}

}

4.dog

package 接口案例_猫和狗;

public class dog extends animal implements inter {

@Override

public void jummping() {

// TODO 自动生成的方法存根

System.out.println("跳了18米");

}

@Override

public void eat() {

// TODO 自动生成的方法存根

System.out.println("吃骨头");

}

//--------------构造方法-------------

/**

*

*/

public dog() {

super();

// TODO 自动生成的构造函数存根

}

/**

* @param name

* @param age

*/

public dog(String name, int age) {

super(name, age);

// TODO 自动生成的构造函数存根

}

}

5.inter接口类

package 接口案例_猫和狗;

public interface inter {

public abstract void jummping();

}

 

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: