重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、抽象类:使用abstract修饰的类
成都创新互联是专业的渌口网站建设公司,渌口接单;提供网站设计制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行渌口网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!抽象方法:使用abstract修饰的方法
包含抽象方法的类必须是抽象类,但是抽象类可以不包含抽象方法。
抽象类是需要被继承的,抽象方法是需要被重写的,建议重写抽象类中的所有方法(包含非抽象方法)。
抽象类是不能被实例化的,只能进行继承,然后向上造型该类,实现不同的行为。
抽象方法只有方法的定义,没有具体的实现,需要被重写。
2、抽象类的意义:
封装共有的行为和属性(代码复用)
为所有的派生类提供统一的类型(向上造型)
可以包含首项方法,为所有派生类提供统一的入口,派生类的具体实现不同,但是入口是一致的。
3、类的设计规则:
将派生类的共有属性和行为,抽到超类中。
派生类的行为都一样,设计为普通方法。
派生类的行为都不一样,设计为抽象方法,需要派生类进行继承然后重写。
4、抽象类的例子:
public abstract class Color{
public void show(){
}
}
class Red extends Color{
public void show(){
System.out.println("我是红色");
}
}
class Blue extends Color{
public void show(){
System.out.println("我是蓝色");
}
}
1234567891011121314
public class Demo{
public static void main( String[] args){
Color c1 = new Red();
Color c2 = new Blue();
c1.show();
c2.show();
}
}
12345678
输出:
我是红色
我是蓝色
12
5、抽象方法的例子:
public abstract class Teacher{//抽象类
abstract public void teaching();//抽象方法
}
public MathTeacher extends Teacher{ 郑州祛胎记治疗价钱 http://m.zykdbhk.com/
@Override
public void teaching(){//重写抽象方法
System.out.println("数学老师讲课");
}
}
public EnglishTeacher extends Teacher{
@Override
public void teaching(){//重写抽象方法
System.out.println("英语老师讲课");
}
}
123456789101112131415
public class Demo{
public static void main(String[] args){
Teacher lee = new MathTeacher();
Tacher tom = new EnglishTeacher();
lee.teaching();
tom.teaching();
}
}
12345678
输出:
数学老师讲课
英语老师讲课