温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java 抽象类

发布时间:2020-08-12 22:33:11 来源:ITPUB博客 阅读:120 作者:20170405 栏目:编程语言

  1、抽象类:使用abstract修饰的类

  抽象方法:使用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

  输出:

  数学老师讲课

  英语老师讲课

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI