🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
接口的定义和使用
练习
编写带有接口和抽象类的标准JavaBean类
代码
接口的定义和使用
-
接口用关键字interface来定义
public interface 接口名{}
-
接口不能实例化
-
接口和类之间是实现关系,通过implements关键字表示
public class 类名implements 接口名 {}
-
接口的子类(实现类)
要么重写接口中的所有抽象方法
要么是抽象类
注意1:接口和类的实现关系,可以单实现,也可以多实现。 public class 类名implements 接口名1,接口名2 {}
注意2:实现类还可以在继承一个类的同时实现多个接口。
public class 类名 extends 父类 implements 接口名1,接口名2 {}
练习
编写带有接口和抽象类的标准JavaBean类
青蛙 属性:名字,年龄 行为:吃虫子,蛙泳
狗 属性:名字,年龄 行为:吃骨头,狗刨
兔子 属性:名字,年龄 行为:吃胡萝卜
代码
父类:animal
package demon5;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();
}
接口:swim
package demon5;public interface swim {public void swim();
}
子类:rabbit
package demon5;public class rabbit extends animal{public rabbit() {}public rabbit(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("兔子在吃胡萝卜");}
}
子类:frog
package demon5;public class frog extends animal implements swim{public frog() {}public frog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("青蛙在吃虫子");}@Overridepublic void swim() {System.out.println("青蛙在蛙泳");}
}
子类:dog
package demon5;public class dog extends animal implements swim{public dog() {}public dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("狗在吃骨头");}@Overridepublic void swim() {System.out.println("狗在狗刨");}
}
测试类:test
package demon5;public class test {public static void main(String[] args) {//创建对象frog f = new frog("小青",3);System.out.println(f.getName()+ "," + f.getAge());f.eat();f.swim();rabbit r = new rabbit("小白",2);System.out.println(r.getName()+ "," + r.getAge());r.eat();
// r.swim();}
}