码迷,mamicode.com
首页 > 编程语言 > 详细

Java_抽象类

时间:2018-09-05 21:38:01      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:抽象方法   rgs   对象   技术   接口   转型   dem   demo   实例化   

A:抽象类的概述

  抽象类就是看不懂

B:抽象类特点:(没有具体的实现意义,不知道如何实现的方法就定义为抽象方法,如:动物吃,如何吃?)

  a:抽象类和抽象方法必须用abstract关键字形容

    abstract class 类名{}

    public  abstract  void  eat(){};

  b: 抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者接口

  c:抽象类不能实例化

    抽象类的实例化方式:按照多态的方式,由具体的子类实例化

  d:抽象类的子类(如果你的子类没有重写抽象父类的方法,那么你的子类就必须是抽象类(抽象类不能创建对象了),否则报错)

    要么是抽象类

    要么重写抽象类中所有抽象方法

C:抽象类的成员变量特点

    a:成员变量:既可以是变量,也可以是常量,abstract不能修饰常量

    b:有构造方法,用于子类访问父类的数据初始化

    c:成员方法:既可以是抽象的(子类必须重写才能继承),也可以是非抽象的(不用子类重写就可以继承)

public class abstract_demo {
  public static void main (String[] args){

       #多态中的向上转型,父类引用指向子类对象(父类是抽象类不能创建对象)
    Animal_demo a = new Cat_demo();
    a.eat();
  }
  }

#抽象父类
abstract class Animal_demo{
  public abstract void eat();
}

#子类继承抽象父类(要么重写抽象类的方法,要么子类也是一个抽象类)

class Cat_demo extends Animal_demo{
  public void eat(){
  System.out.println("猫吃鱼");
}
}

技术分享图片

 

Java_抽象类

标签:抽象方法   rgs   对象   技术   接口   转型   dem   demo   实例化   

原文地址:https://www.cnblogs.com/Wly-blogs/p/9594148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!