java作为一门广受使用的编程语言,它所涵盖的知识是非常丰富的。这也是很多人在不断学习java知识的原因。今天一起来了解一些java中关于抽象类的知识吧。
首先,我们需要知道的是,抽象类和具体类是相对的概念。“抽象”是一种存在思想逻辑中的概念,而“具体”是一种可见可触摸的现实对象。简单说,比如“人”比“男人”抽象一点,“动物”又比“人”更抽象一点,而“生物”又比“动物”更抽象。
其实,抽象的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排出,集中描述其共性,就会产生一个抽象性的概念。
抽象思维,是人类思维达到高级阶段产生的一种能力,例如,当小孩子思维尚未成熟时,他们只能掌握具体概念,他们在学习代词“你、我、他”时往往遇到困难,因为代词具有较高的抽象性。
总的来说,抽象概念的外延大,内涵小;具体概念的外延小,内涵大。
然后仔细说说,抽象类与普通类
1.普通类可以去实例化调用;抽象类不能被实例化,因为它是存在于一种概念而不非具体。
2.普通类和抽象类都可以被继承,但是抽象类被继承后子类必须重写继承的方法,除非自类也是抽象类。
3.实例代码如下所示:
public class Pet { public void play() { //这是宠物类,普通父类,方法里是空的 } } -- -- -- -- -- -- -- -- -- -- -- -- -- public class Cat extends Pet { //这是子类,是一个猫类,重写了父类方法 public void play() { System.out.println("1、猫爬树"); } } -- -- -- -- -- -- -- -- -- -- -- -- public class Dog extends Pet { //这是子类,是一个狗类,重写了父类方法 public void play() { System.out.println("2、狗啃骨头"); } } -- -- -- -- -- -- -- -- -- -- -- -- - public class Test { public static void main(String[] args) { //这是测试类,分别调用了子类的不同方法 Pet p1 = new Cat(); //多典型的多态表现啊,相当的给力 Pet p2 = new Dog(); p1.play(); p2.play(); } } -- -- -- -- -- -- -- -- -- -- -- - 输出结果: 1、 猫爬树 2、 狗啃骨头 -- -- -- -- -- -- -- -- -- -- --
如果,把父类改成抽象类,方法改成抽象方法,那么public void play(); 子类不变,依然重写父类方法,那这个跟普通父类有何区别?
答:
就是为了强制不能实例化,以及强制子类必须实现方法。
以上就是关于java中抽象类和普通类的区别在哪的详细解析了。具体来说还是比较好理解的。如果你想要了解更多java基础知识,敬请关注奇Q工具网。
推荐阅读: