Java中抽象类简单介绍

拼搏现实的明天。 2023-02-25 05:59 106阅读 0赞

在面向对象的概念中:

所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

注意:

  • 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。
  • 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
  • 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。
  • 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
  • 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。
  • 关键字:abstract

Java语言中使用abstract class来定义抽象类

  1. //定义抽象类 abstract
  2. public abstract class Employee{
  3. }

也可以定义抽象方法

  1. //定义抽象类 abstract
  2. public abstract class Employee{
  3. //定义抽象方法 abstract
  4. public abstract void tofangfou();
  5. }

抽象类里可以写普通的方法:

  1. public abstract class Employee{
  2. private String name;
  3. private String address;
  4. private int number;
  5. public Employee(String name, String address, int number){
  6. System.out.println("Constructing an Employee");
  7. this.name = name;
  8. this.address = address;
  9. this.number = number;
  10. }
  11. public double computePay(){
  12. System.out.println("Inside Employee computePay");
  13. return 0.0;
  14. }
  15. public void mailCheck()
  16. {
  17. System.out.println("Mailing a check to " + this.name
  18. + " " + this.address);
  19. }
  20. public String toString()
  21. {
  22. return name + " " + address + " " + number;
  23. }
  24. public String getName()
  25. {
  26. return name;
  27. }
  28. public String getAddress()
  29. {
  30. return address;
  31. }
  32. public void setAddress(String newAddress)
  33. {
  34. address = newAddress;
  35. }
  36. public int getNumber()
  37. {
  38. return number;
  39. }
  40. }

上面的类没有什么不同,尽管该类是抽象类,但是它仍然有 3 个成员变量,7 个成员方法和 1 个构造方法。

好好理解上面列出的抽象类注意说明!!

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,106人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象介绍

    目录 1、对抽象类的理解 2、抽象类属于引用数据类型 3、定义抽象类的语法 4、抽象类有构造方法,是给子类使用的。 5、抽象方法 1、语法 2、抽象类中不一定有抽

    相关 Java抽象详细介绍

    1.概述 父类中的方法,被他的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有 意义,而方法主体则没有存在的意义了。我们把`没有方法主体的

    相关 Java抽象介绍

    1 问题 声明一个名为Employee的抽象类,其中包含name(姓名)和sex(性别)两个String类型的私有属性,并声明一个继承于Employee抽象类的子类Tea

    相关 Java抽象简单介绍

    在面向对象的概念中: 所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。