抽象类:
抽象方法,子类必须强制重写方法,抽象方法所在的类就是抽象类。
练习抽象类:
package chouxiang;
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 void drink() {
System.out.println("动物在喝水");
}
public abstract void eat();
}
package chouxiang;
public class dog extends animal{
public dog() {
}
public dog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
package chouxiang;
public class frog extends animal{
public frog() {
}
public frog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("青蛙在吃虫子");
}
}
package chouxiang;
public class sheep extends animal {
public sheep() {
}
public sheep(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("山羊在吃草");
}
}
package chouxiang;
public class text {
public static void main(String[] args) {
frog f = new frog("小王子蛙蛙",18);
System.out.println(f.getName()+","+f.getAge());
f.drink();
f.eat();
}
}
运行结果:
接口:
接口是一种规则,一种行为的抽象
想知道具体过程,这是视频链接:面向对象进阶-16-接口_哔哩哔哩_bilibili
简单理解:类和类中,有爹,爹还可以有爹,但不能有两个爹。
类和接口之间的关系:注意点:实现多个接口的时候,要重写里面所有的抽象方法。
接口和接口之间:注意点:多继承时候,是实现最下面子接口的时候,就需要重写这个体系中的所有方法。
案例:编写带有接口和抽象类的标准javabean:
题目:
思路1:
思路二:
代码(后面有时间在写)这个案例在这个视频里面面向对象进阶-18-接口和抽象类的综合案例_哔哩哔哩_bilibili
接口中定义默认方法:
接口中静态方法:
接口的应用:
第一种场景:对于实现类来讲,想让这个实现类拥有什么功能,那就实现对应的接口就可以了。
第二种:在一个方法种,如果参数写成了接口,我们在调用这个方法的时候,就可以传递这个接口的实现类对象。