------- android培训、java培训、期待与您交流! ----------
1.概念:
3.抽象类的例子:
-
父类Employee中定义了一个方法:
-
public void setSalary(double salary,double rate) {
this.salary = salary*(1+rate);
}
-
但是如果子类Sales和Trainer虽然都需要实现这个业务逻辑,但是实现方式 却都不相同,如Sales如下:
-
public void setSalary(double salary, double rate) {
this.salary = salary*(1+2*rate);
}
-
Trainer类的如下:
public void setSalary(double salary, double rate) {
this.salary = salary*(1+0.5*rate);
}
4.抽象方法的定义
public abstract void setSalary(double salary,double rate) ;
5.抽象类的作用:
- 强迫子类复写一些功能。
- 抽象类该如何描述事物,就如何描述事物,只不过,该事物出现了一些未实现的方法,需要明确实现。但是无法定义主体。通过抽象方法来实现。需要子类实现。
- 抽象类比一般类多了抽象函数,就是在类中可以定义抽象方法。不可实例化。
-
- 抽象类在公司通常不是由程序员定义的,而是由项目经理或者某个模块得设计人员。设计抽象类得原因通常只有一个:为了规范方法名。咱们都知道,抽象类必须要继承,不然没法用,作为模块设计者,可以把让底层程序员直接用得方法直接调用,而一些需要让程序员覆盖后自己做得方法则定义称抽象方法。
6.注意:
- 抽象类可以不定一抽象方法,这样做仅仅是不让该类创建对象。
- 没有抽象变量。
-
需要注意的是,抽象方法是没有方法体的,声明后直接使用;结束。
抽象方法和抽象类之间的关系是:
1) 抽象类中不一定有抽象方法
2) 有抽象方法的类一定是抽象类
因此,如果一个类继承的父类中有抽象方法,那么子类必须实现其抽象方法 ,否则子类也必须声明为抽象类。
很多初学者会不太理解抽象类的作用,尤其抽象方法,觉得既然连实现逻辑 都没有,又何必声明?抽象类,抽象方法都是Java中非常重要的概念,抽象类是 多个子类共同特征的体现,抽象方法是子类共同行为的规范。
分享到:
相关推荐
【IT十八掌徐培成】Java基础第05天-03.抽象类-抽象方法-修饰符组合.zip
黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc
11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别....
10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和...
接口-与抽象类之区别 6.接口-应用示例(设计模式) 7.内部类-简介 8.内部类-作用 9.内部类-特殊语法规则 10.内部类-安全性 11.内部类-局部内部类 12.内部类-匿名内部类 13.内部类-...
(3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,...
2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip...
5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip...
4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip...
3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip3.java使用抽象类.zip...
1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip...
1.可以确信你从工厂得到的产品彼此是兼容的 2.可以避免具体产品和客户端代码之间的紧密耦合 3.符合单一职责原则 4.符合开闭原则
【Python--抽象类和抽象方法】--求三角形、矩形、圆的面积和周长的编程题(csdn)————程序
Java面向对象(高级)-- 抽象类与抽象方法(或abstract关键字)
Java基础精品课12-抽象类录屏8.抽象方法.mp4
DLT 698.41-2010 电能信息采集与管理系统 第4-1部分_通信协议-主站与电能信息采集终端通信.pdf DLT 698.42-2010 电能信息采集与管理系统 第4-2部分 通信协议-集中器下行通信.pdf DLT 790.6-2010 采用配电线载波的...
343.341.JAVA基础教程_面向对象(下)-抽象类与抽象方法的使用(343).rar
4.简单工厂-工厂方法-抽象工厂 对比总结
域论及伽罗瓦理论 是 抽现代数的理论知识 pdf格式
DLT 698.41-2010 电能信息采集与管理系统 第4-1部分_通信协议-主站与电能信息采集终端通信.pdf DLT 698.42-2010 电能信息采集与管理系统 第4-2部分 通信协议-集中器下行通信.pdf DLT 790.6-2010 采用配电线载波的...