黑马程序员技术交流社区
标题:
抽象类
[打印本页]
作者:
linder_qzy
时间:
2015-3-9 16:41
标题:
抽象类
当多个类中出现相同功能,但是功能主体不用时可以向上抽取。
这时只抽取功能定义而不抽取功能主体。
抽象方法特点:
1.抽象方法必须存在于抽象类中
2.抽象方法和抽象类都必须被abstract关键字所修饰
3.抽象类不可以被new创建,没有意义
4.抽象类中的方法要被使用时,必须由子类重写所有父类的抽象方法后建立子类对象调用。
如果子类只重写部分抽象方法那么子类还是一个抽象类.
抽象类和一般类没有大的不同。
该如何描述事物还怎么描述,只不过该事物出现了一些看不懂的部分,这些不确定的部分也是该事物的功能需要明确出现。
但是无法定义主体,通过抽象方法来表示。
抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
抽象类比一般类多了抽象函数,抽象类不能实例化。
abstract class Student
{
abstract void study();//定义抽象方法,具体内容由其子类实现
void sleep(){
System.out.println("sleep....");
}
}
class BasicStudent extends Student
{
void study(){
System.out.println("basic study");
}
}
class AdviceStudent extends Student
{
void study(){
System.out.println("advice study");
}
}
class Demo03_Abstract
{
public static void main(String[] args)
{
new BasicStudent().study();
new AdviceStudent().study();
/*
输出结果
basic study
advice study
*/
}
}
复制代码
作者:
Johnny_Hu
时间:
2015-3-9 17:06
看明白了 刚才看你上面的文字描述有点晕
看下例子后 看懂了
非常感谢你的分享
作者:
Johnny_Hu
时间:
2015-3-9 17:10
void sleep(){
System.out.println("sleep....");
}
复制代码
你这句函数是不是多余写的 还是下面忘记调用了
作者:
linder_qzy
时间:
2015-3-9 22:00
Johnny_Hu 发表于 2015-3-9 17:10
你这句函数是不是多余写的 还是下面忘记调用了
是 在这个例子里边没有用到
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2