JAVA多态学习3

原创 2015年07月07日 17:40:28

这一节我们来学习抽象类

抽象类–深入讨论
抽象类是java中一个比较重要的类。
1、用abstract关键字来修饰一个类时,这个类就是抽象类。
2、用abstract关键字来修饰一个方法时,这个方法就是抽象方法。
3、abstract抽象类中的abstract抽象方法是不允许在抽象类中实现的,一旦实现就不是抽象方法和抽象类了。abstract抽象方法只能在子类中实现。
4、抽象类中可以拥有实现方法。
5、抽象方法在编程中用的不是很多,但是在公司笔试时,却是考官比较爱问的知识点。

抽象类–注意事项
1、抽象类不能被实例化
2、抽象类不一定要包含abstract方法。也就是说,抽象类可以没有abstract抽象方法。
3、一旦类包含了abstract抽象方法,则这个类必须声明为abstract抽象类。
4、抽象方法不能有主体。
正确的抽象方法例:abstract void abc();
错语的抽象方法例:abstract void abc(){}

package abstractclass;

public class Abstractclass {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //Animal an=new Animal();抽象类不允许实例化
        Animal an=new Cat();
        an.cry();
        an.sx();
        an=new Dog();
        an.cry();
        an.sx();

    }

}

//抽象类abstract关键词
abstract class Animal{
    String name;
    int age;
    //动物会叫,使用了abstract抽象方法
    abstract public void cry();//抽象类中可以没有abstract抽象方法
    //抽象类内可以有实现方法
    public void sx(){
        System.out.println("实现方法");
    }
}
//当一个子类继承的父类是abstract抽象类的话,需要程序员把抽象类的抽象方法全部实现。
class Cat extends Animal{
    //实现父类的cry,其实类似上节学习中的子类覆盖父类
    public void cry(){
        System.out.println("猫猫叫");
    }
}
class Dog extends Animal{
    //实现父类的cry,其实类似上节学习中的子类覆盖父类
    public void cry(){
        System.out.println("汪汪叫");
    }
}

abstract

下一节我们来讲一下接口类,并且希望能在抽象类和接口类上进行比较

Java多态学习总结

一、多态产生的条件 存在继承关系; 存在方法重写; 要有父类引用指向子类对象。 示例代码:public class PolymorphismTest { public static void...
  • liuweiballack
  • liuweiballack
  • 2015年07月29日 00:17
  • 787

Java多态,Java多态的深入学习

public class TestAB { /** * @param args */ public static void main(String[] args) { A a = ne...
  • hfmbook
  • hfmbook
  • 2012年05月21日 17:43
  • 402

Java笔记整理:多态

第八章:多态
  • u013400743
  • u013400743
  • 2016年09月05日 11:50
  • 146

java多态学习

最近在重新看java,感觉到多态还有很多不懂的地方,看到这篇文章,有所启发。 JAVA多态 一、相关的类结构点击打开链接 [java] view plaincop...
  • prokechery
  • prokechery
  • 2015年03月04日 10:52
  • 89

Java多态学习

在面向对象多态是
  • u010722938
  • u010722938
  • 2014年11月12日 22:00
  • 380

java中多态的经典问题分析

Questionpackage demo;/** * Created by zwj on 2016/3/26. */ class A { public String show(D obj)...
  • zhangwj0101
  • zhangwj0101
  • 2016年03月26日 20:14
  • 1027

java学习笔记----测试多态的用法

java学习笔记(高琪版)面向对象OOP测试多态的用法 多态,是指程序最终状态是在程序运行时才被确定 首先一个类需要被多个类所继承 这多个类相较于父类都有一定的改写才有意义(方法的重写) 新建对象时父...
  • cn_leeyiru_static
  • cn_leeyiru_static
  • 2017年01月26日 21:25
  • 274

Java多态性理解,好处及精典实例

核心: 1、多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编译时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到...
  • Jian_Yun_Rui
  • Jian_Yun_Rui
  • 2016年10月26日 20:12
  • 10498

Java多态例题

一、代码如下:class A { public String show(D obj)...{ return ("A and D"); ...
  • clpig0125
  • clpig0125
  • 2016年03月04日 09:55
  • 1157

Java 多态缺陷

Java 多态缺陷 ( 1.缺陷 : “覆盖”私有方法 output:    print A private方法被自动认为是final方法,而且对子类是屏蔽的。因此,在...
  • mwq30123
  • mwq30123
  • 2014年06月04日 10:42
  • 481
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA多态学习3
举报原因:
原因补充:

(最多只允许输入30个字)