今天我们来看抽象类和接口~话不多说,开始正题~
在前面我们学习了继承,我们知道了父类是子类共有的属性,而且子类重写了父类的方法,父类里的方法就不会被具体的使用了,为了防止你不小心调用了父类里被子类重写方法的调用,我们可以用 抽象类 加一层防护~
具体怎么实现呢?我们来一起看代码演示~
首先有个父类是Animal1类,其次有个子类为 Dog2 类,抽象方法具体体现在 eat 这里,抽象类注意看父类~
Animal1 类
public abstract class Animal1 {
public String name;
public int age;
public Animal1(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void eat();
}
注意看我们在父类这里加了 abstract ,此时Animal1 为抽象类方法~
Dog2 类
public class Dog2 extends Animal1{
public Dog2(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("Dog2.eat()");
}
}
这里我们重写了 Animal1 类里面 eat 的方法,这是因为抽象方法必须重写!
test1 类
public class test1 {
public static void main(String[] args) {
Animal1 dog = new Dog2("dogy",1);
System.out.println(dog.name);
System.out.println(dog.age);
dog.eat();
}
}
这里发生了向上转型,这样写是因为抽象类方法不能被实例化~
重点都在这个例子里面,大家下来可以试一试~
下篇博客我们来学习接口,敬请期待——