`
kuyuyingzi
  • 浏览: 53130 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

黑马程序员——java抽象类详解

 
阅读更多


---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------


/*
当多个类中出现相同功能,但是功能主体不同。
这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。


抽象:看不懂。


抽象类的特点:
1、抽象方法一定在抽象类中。
2、抽象方法和抽象类都必须被abstract关键字修饰。
3、抽象类不可以用new创建对象,因为调用抽象方法没意义。
4、抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。
如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。




抽象类和一般类没有太大的不同。
该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。
这些不明确的部分,也是该事物的功能,需要明确出现,但是无法定义主体。
通过抽象方法来表示。


抽象类比一般类多了个抽象函数。
抽象类不可以实例化。


注意:抽象类中可以不定义抽象方法。这样做仅仅是为了让子类继承它时候要覆盖被抽象的方法。起控制的功能。
*/




举例


/*假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性:
姓名、工号、以及工资。经理也是员工,出了含有员工的属性外,另外还有一个奖金属性,
请使用继承的思想设计出员工类和经理类。要求类中提供必要的方法进行属性访问。




员工类:name id pay


经理类:继承了员工,并有自己特有的bonus。


*/

class Employee
{
private String name;
private String id;
private double pay;
Employee(String name,String id,double pay)
{
this.name=name;
this.id=id;
this.pay=pay;
}
abstract public void work();
}


class Manager extends Employee
{
private double bonus;
Manager(String name,String id,double pay,double bonus)
{super(name,id,pay);
this.bonus=bonus;
}
public void work()
{
System.out.println("manager work");
}
}


class Pro extends Employee
{
Pro(String name,String id,double pay)
{
super(name,id,pay);
}
public void work();
{
System.out.println("pro work");
}

}


---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net/heima" target="blank">http://edu.csdn.net/heima</a>

分享到:
评论

相关推荐

    java抽象类与接口实例java抽象类与接口实例

    java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...

    黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc

    黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

    基于Java抽象类和接口实现疯狂动物城

    学生通过对该项目整体框架的搭建和对动物城信息管理等模块的设计与功能实现,训练了学生对项目框架的搭建、类的封装、抽象类定义与继承、接口的定义与接口的实现等Java OOP面向对象知识点的掌握。 本项目主要包括...

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    Java抽象类和抽象方法

    Java抽象类和抽象方法

    Java抽象类和接口.ppt

    此书对于你学习Java抽象类和接口有非常大的帮助

    Java 抽象类

    Java 抽象类的学习

    2.java使用抽象类.zip

    2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip...

    5.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使用抽象类.zip

    4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip...

    3.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定义抽象类.zip

    1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip1.java定义抽象类.zip...

    Java实例化一个抽象类对象的方法教程

    大家都知道抽象类无法实例化,就无法创建对象...所以下面这篇文章主要给大家介绍了关于Java实例化一个抽象类对象的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    java 抽象类与接口的练习

    java 抽象类与接口的练习,包括代码及注释,个人笔记

    Java中抽象类和接口的区别与作用详解

    结论:abstract class和Interface是JAVA语言中的两种定义抽象类的方式。Interface将abstract的概念作了更进一步的发挥。你可以想像Interface是“纯粹”的 abstract class,只可以包含抽象方法,也包括一些常量的定义...

    java 抽象类练习题

    java 抽象类 接口 异常 练习题 1.在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口(D)。 A.private B.protected C.private protected D.public 2.下列程序运行的结果是(B)。 interface ...

    java抽象类与接口区别

    深入浅出的说明java抽象类与接口区别,让初学者更好的理解java抽象类与接口的概念

    Java抽象类 一篇文章详解

    Java抽象类 一篇文章详解。

    浅谈java IO流——四大抽象类

    主要介绍了java IO流——四大抽象类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics