java中的抽象类abstract
/**
* 学习抽象类和抽象方法
* 抽象方法:只进行方法的声明,而不提供具体的实现(没有方法体)
* 抽象类:只要在一个类中有一个抽象方法,那么这个就得声明一个抽象类
* 抽象类和抽象方法的定义:
* abstract class 类名{}
* public abstract 返回值/void 方法名();
* 抽象类中可以没有抽象方法
* 抽象类不能直接进行实例化 不能直接new 编译报错
* 抽象类主要是让别人继承的
*/
public class Study_Abstract {
}
// 抽象类
abstract class Animal{
public abstract void eat(); // 抽象方法
public abstract void call();
public void sleep(){
System.out.println("动物要睡觉了");
}
}
class Dog extends Animal{
// @Override
// public void call() {
// System.out.println("Dog.call");
// }
@Override
public void call() {
System.out.println("Dog.call");
}
@Override
public void eat() {
System.out.println("Dog.eat");
}
}
class Cat extends Animal{
@Override
public void call() {
System.out.println("Cat.call");
}
@Override
public void eat() {
System.out.println("Cat.eat");
}
}
抽象类被继承后,要么必须重写抽象方法,要么子类也声明抽象类。
本文来自博客园,作者:竹石2020,转载请注明原文链接:https://www.cnblogs.com/ch2020/p/16849266.html
浙公网安备 33010602011771号