在Java里面使用abstract修饰的方法,我们称之为抽象方法,使用abstract修饰的类是抽象类,抽象类不能创建该类
的实例,抽象方法没有的具体的实现,只有申明,在子类里面,必须重写该抽象的方法.下面,我们来看看代码。
使用abstract修饰的类我们惩治为抽象类.抽象类不能创建该类的实例.我们还是来看看代码吧.
package oop2;
public abstract class Color {
public void show() {
}
}
class Red extends Color{
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("我是红色.....");
}
}
class Blue extends Color{
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("我是蓝色.....");
}
}
从上面的代码可以看出的就是父类Color是一个抽象的类,里面有一个方法,我们的子类Red,Blue都继承来自父类Color
因此都重写了父类的方法,我们创建了2个子类的实例对象,但是我们的抽象类是不容许创建该类的一个对象的 。
package oop2;
public class color1 {
public static void main(String[] args) {
Color r1=new Red();
Color r2=new Blue();
r1.show();
r2.show();
}
}
使用bastract修饰的方法,我们称之为抽象的方法,抽象方法没有具体的实现,必须在子类之中重写该方法。
我们还是来看看下面的代码吧.
package oop2;
public abstract class Teacher {//抽象类里面有一个抽象方法
public abstract void teaching();
}
class MathTeacher extends Teacher{
//重写了父类的抽象方法
@Override
public void teaching() {
// TODO Auto-generated method stub
System.out.println("今天,我们来说下三角函数");
}
}
class EngLishTeacher extends Teacher{
//重写了父类的抽象方法
@Override
public void teaching() {
// TODO Auto-generated method stub
System.out.println("open the book");
}
}
package oop2;
public class Student {
public static void main(String[] args) {
MathTeacher tom=new MathTeacher();
EngLishTeacher jack=new EngLishTeacher();
tom.teaching();
jack.teaching();
}
}
从上面的代码可以看出的就是使用abstract修饰的方法,我们称之为抽象方法,抽象方法必须在子类里面对其重写.