抽象类abstract

来源:互联网 发布:手机户型平面图软件 编辑:程序博客网 时间:2024/06/05 19:13
抽象类:当描述一个类的时候,如果不能确定功能函数如何定义,那么该类就可以定义为抽象类,功能函数应该描述为抽象函数。    

抽象类的好处:强制要求子类一定要实现指定的方法。

abstract不能与以下关键字共同修饰一个方法
1.abstarct不能与private共同修饰一个方法
2.abstract不能与static共同修饰一个方法
3.abstract不能喝final共同修饰一个方法

抽象类需要注意细节:
    1.如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象的函数;
    2.如果一个类出现了抽象的函数,那么该类也必须使用abstract修饰;
    3.如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法全部实现;
    4.抽象类可以存在非抽象方法,也可以存在抽象的方法;
    5.抽象类可以没有抽象方法;
    6.抽象类是不能创建对象的;
            因为:因为抽象类是存在抽象方法的,如果能让抽象类创建对象的话, 那么使用抽象的对象调用抽象方法是没有任何意义的。
    7.抽象类是可以存在构造函数的,其构造函数是提供给子类创建对象的时候初始化父类的属性的;
abstract class Animal{String name;String color;public Animal(String name, String color){this.name = name;this.color = color;}public abstract void eat();public void sleep(){System.out.println(name + "都能睡觉。。。。");}}class Dog extends Animal{public Dog(String name, String color){super(name, color);}public void eat(){System.out.println(name+"吃骨头。。。。");}}class Demo49 {public static void main(String[] args) {//Animal dog = new Animal("哈士奇", "白色");//抽象类不允许创建对象Dog dog = new Dog("哈士奇", "白色");dog.eat();System.out.println("Hello World!");}     }


0 0