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

java 抽象类

时间:2019-06-28 00:40:16      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:抽象方法   意义   没有   类多态   abs   多态   oid   extends   ring   

 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 子类中不能访问

 

java 抽象类

标签:抽象方法   意义   没有   类多态   abs   多态   oid   extends   ring   

原文地址:https://www.cnblogs.com/gaoyang666/p/11100300.html

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