Java 的小白学习笔记十(面向对象-多态和抽象类)

Java多态

多态是同一个行为具有多个不同的表现形式或形态的能力。

多态就是同一个接口,使用不同的实例而执行不同的操作

必要条件

1. 继承

2. 重写

3. 父类引用指向子类对象(Parent p = new child())

实例


抽象类

在面向对象的概念中,所有的对象都是通过类来描绘的,但并不是所有的类都是用来描绘对象的,一个类中没有足有信息来描绘一个对象,这就是抽象类。

抽象类不能实例化对象,只能被继承才能被使用,通常在设计阶段决定要不要设计抽象类。

在java中抽象类表示的是一种继承关系,一个类只能继承一个抽象咧,却可以实现多个接口

抽象方法只是生命,不包含方法体,方法的具体实现由继承它的子类来实现,且继承抽象类的子类必须要实现抽象类的抽象方法,除非它也是抽象类

抽象类不一定包含抽象方法,包含抽象方法的类一定是抽象类

定义

用abstract class来定义抽象类

//定义一个抽象类Animal,拥有自己的属性,方法,构造器

public abstract class Animal{

    private String name;

    public Animal(String name){

        this.name = name;

    }

    public String get(){       //抽象类中的普通方法 

        return name;

    }

    public abstract String getName();//抽象类中的抽象方法

}

//当尝试实例化抽象类,会出现编译错误

Animal a = new Animal ("jingba");

继承抽象类

public class Cat extends Animal{

    private String name;

    public Cat(String name){

        super(name);

        this.name = name;

    }

    public getName(){

        return name;

    }

}

你可能感兴趣的:(Java 的小白学习笔记十(面向对象-多态和抽象类))