• Java_抽象类


    A:抽象类的概述

      抽象类就是看不懂

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

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

        abstract class 类名{}

        public  abstract  void  eat();

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

      c:抽象类不能实例化

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

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

        要么是抽象类

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

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

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

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

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

    D:static关键字不可以修饰abstract(抽象方法没有方法体,static修饰的可以用类名.调用,类名.抽象方法没有意义)

    E:final关键字不可以修饰abstract(abstract修饰的方法强制子类重写,final修饰的方法不可以重写)

    F:private关键字不可以修饰abstract(被abstract修饰的方法要求子类强制重写,但是被private修饰的方法是不让子类访问的)

    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("猫吃鱼");
    }
    }

  • 相关阅读:
    闲来无事,编写一个数据迁移小工具
    Moq基础
    探索逻辑事务 TransactionScope
    IntelliJ IDEA安装及jsp开发环境搭建
    数据结构整理(二) 树
    数据结构整理(一) 线性结构
    梳理delegate相关概念
    02_Android应用界面编程_01_视图(View)组件
    01_Android应用开发环境_05_签名android应用程序
    01_Android应用开发环境_04_Android常用开发工具的用法
  • 原文地址:https://www.cnblogs.com/Wly-blogs/p/9594148.html
Copyright © 2020-2023  润新知