Java

2.抽象类

1)什么是抽象类

在程序中不存在对象 或不使用这个类对象的类

2)怎么定义抽象类

  • 在class前加abstract关键字

    <访问修饰符> abstract class <类名> {
      //TODO
    }
    

3)抽象类的特征

  • 3.1)抽象类不能实例化
  • 3.2)抽象类中能够编写抽象方法
  • 3.3)抽象类中的抽象方法数量不限

3.抽象方法

1) 什么是抽象方法: 抽象方法是没有方法体的方法
2) 怎么定义抽象方法

  <修饰符> abstract <返回值> <方法名>(参数列表);

3) 抽象方法的特征

  • 3.1)抽象方法没有方法体
  • 3.2)子类中必须重写 父类中的抽象方法 除非子类也是抽象类
  • 3.3)抽象方法必须在抽象类中

    PS:abstract和final关键字
    是冲突的

完成作业

抽象类和抽象方法

1) 定义一个抽象类Fruit(水果)

定义个抽象方法eat()

定义一个Apple苹果类继承Fruit 重写eat方法  
定义一个Banana香蕉类继承Fruit 重写eat方法  

测试类中
实例化子类对象赋给父类引用
调用eat方法测试

水果类 Fruit.java

package oopday06;

public class Banana extends Fruit{
    public void eat(){
        System.out.println("剥开皮吃");
    }
}

苹果类 Apple.java

package oopday06;

public class Apple extends Fruit{
    public void eat(){
        System.out.println("削皮吃");
    }
}

香蕉类 banana.java

package oopday06;

public class Banana extends Fruit{
    public void eat(){
        System.out.println("剥开皮吃");
    }
}

测试类 TestDemo.java

package oopday06;

public class TestDemo {
    public static void main(String[] args) {
        Fruit apple=new Apple();
        Fruit banana=new Banana();
        
        apple.eat();
        banana.eat();
    }
}

评论

This is just a placeholder img.