创建目录
mkdir -p src/com/demo/ build
在demo 文件夹中创建对应的 Animal.java Dog.java App.java
// Dog.java
package com.demo;
public interface Animal {
public void eat();
public void sleep();
}
// Dog.java
package com.demo;
public class Dog implements Animal{
@Override
public void eat() {
System.out.println("狗吃骨头");
}
@Override
public void sleep() {
System.out.println("狗睡觉");
}
public void bark() {
System.out.println("狗在汪汪叫");
}
}
// App.java
package com.demo;
public class App{
public static void main(String[] args){
Dog a = new Dog();
a.eat();
a.sleep();
a.bark();
Animal b = new Dog();
b.eat();
b.sleep();
//先判断,再转换
if (b instanceof Dog) {
((Dog) b).bark();
}
}
}
javac -d build src/com/demo/*.java
cd build ; echo Main-Class: com.demo.App>manifest.txt
jar -cfm com.demo.interface.jar manifest.txt com/demo/*.class
java -jar com.demo.interface.jar
狗吃骨头
狗睡觉
狗在汪汪叫
狗吃骨头
狗睡觉
狗在汪汪叫
这里用了直接实例化类型为Dog 和实例化Animal再强转为Dog两种写法,一个是面向对象,一个是面向接口。初学的我不清楚哪个更好。
- THE END -
最后修改:2025年7月3日
非特殊说明,文章内容整理自互联网。
如若转载,请注明出处:https://www.links2fun.com/2025/07/03/java-interface.html
共有 0 条评论