java特性之四--抽象

1.抽象的概念

 =========================================================================================================================

2.抽象方法和抽象类的定义格式

 ========================================================================================================================

3.如何使用抽象类和抽象方法

 =====================================================================================================================

4.注意事项

 Animal.java

package cn.itcast.day09.demo13;

// 最高的抽象父类
public abstract class Animal {

public abstract void eat();

public abstract void sleep();

}

===================================================================================

Dog.java

package cn.itcast.day09.demo13;

// 子类也是一个抽象类
public abstract class Dog extends Animal {

@Override
public void eat() {
System.out.println("狗吃骨头");
}

// public abstract void sleep();
}

====================================================================================

Dog2Ha.java

package cn.itcast.day09.demo13;

public class Dog2Ha extends Dog {
@Override
public void sleep() {
System.out.println("嘿嘿嘿……");
}
}

===================================================================================

DogGolden.java

package cn.itcast.day09.demo13;

public class DogGolden extends Dog {
@Override
public void sleep() {
System.out.println("呼呼呼……");
}
}

===================================================================================

DemoMain.java

package cn.itcast.day09.demo13;

public class DemoMain {

public static void main(String[] args) {
// Animal animal = new Animal(); // 错误!

// Dog dog = new Dog(); // 错误,这也是抽象类

Dog2Ha ha = new Dog2Ha(); // 这是普通类,可以直接new对象。
ha.eat();
ha.sleep();
System.out.println("==========");

DogGolden golden = new DogGolden();
golden.eat();
golden.sleep();
}


}

原文地址:https://www.cnblogs.com/curedfisher/p/12390524.html