zoukankan      html  css  js  c++  java
  • java 抽象类

     1 class Demo1_Abstract {
     2     public static void main(String[] args) {
     3         //Animal a = new Animal();            //错误: Animal是抽象的; 无法实例化
     4         Animal a = new Cat();                //父类引用指向子类对象
     5         a.eat();
     6     }
     7 }
     8 /*
     9 * B:抽象类特点
    10     * a:抽象类和抽象方法必须用abstract关键字修饰
    11         * abstract class 类名 {}
    12         * public abstract void eat();
    13     * b:抽象类不一定有抽象方法,有抽象方法的类一定是抽象类或者是接口
    14     * c:抽象类不能实例化那么,抽象类如何实例化呢?
    15         * 按照多态的方式,由具体的子类实例化。其实这也是多态的一种,抽象类多态。
    16     * d:抽象类的子类
    17         * 要么是抽象类
    18         * 要么重写抽象类中的所有抽象方法
    19 */
    20 abstract class Animal {                        //抽象类
    21     public abstract void eat();                //抽象方法
    22 
    23     public Animal() {
    24         System.out.println("父类空参构造");
    25     }
    26 }
    27 class Cat extends Animal {
    28     public Cat() {
    29         super();
    30     }
    31     public void eat() {
    32         System.out.println("猫吃鱼");
    33     }
    34 }

    1. 一个抽象类 如果 没有抽象方法 ,可以 被定义为抽象类。这样做的意义就是 不让其他类创建本类对象,交给子类完成。

    2. abstract 不能和哪些关键字 共存

      1. static         abstract 修饰的方法没有方法体,但是 static 修饰的方法 可以直接用 类名.方法 调用,而调用抽象方法是不行的

      2. final      abstract 修饰的方法要在子类中强制重写,但是 final 不能修改

      3. private  private 子类中不能访问

  • 相关阅读:
    Python自学之乐-python中break continue exit() pass浅析
    Python自学之乐-Python字典实现简单的三级菜单
    Python自学之乐-浅析Python的深浅拷贝
    百度云服务器允许外网访问
    svg究竟是什么?
    基础知识之SQL
    基础知识之html/css/js
    vue基础知识
    数据库基础知识
    Windows 知识基础
  • 原文地址:https://www.cnblogs.com/gaoyang666/p/11100300.html
Copyright © 2011-2022 走看看