Java基础进阶-3-继承与多态

目录

1、继承

2、多态-继承

3、多态-抽象

4、多态-接口


1、继承

1、成员

public类型的成员会被继承

private 类型的成员不会被继承

子类是无法覆盖掉父类的实例变量的。

2、重写

重写父类的方法,相当于重新定义该方法。

如果你想要重新定义该方法还想要继续运行父类该方法的行为,那么需要运用super。

3、final

被 final修饰的类和方法不能被继承。

2、多态-继承

多态最强的地方就是,引用类型可以是实际对象类型的父类。并且可以将dog实例对象当成父类Animal去操作。

多态还体现在 方法参数(可以传入父类的子类)和返回类型(返回子类的父类)上。

重载与多态毫无关系。

public class Test3 {

    static class Animal{
        String name;
        private void bark(){
            System.out.println("动物叫声");
        }
    }
    static class Dog extends Animal{
        int age;
    }

    public static void main(String[] args) {
        Animal  a=new Dog();
        a.bark();
    }
}

3、多态-抽象

1、抽象类

抽象类不能被初始化,抽象类除了被继承之外,是没有用途,没有值,没有目的的。

2、抽象方法

抽象的方法代表一定会被重写,抽象的方法没有实体!

如果你声明了一个抽象方法,就必须将该类也标记为抽象的。你不能在非抽象类中拥有抽象方法。

抽象方法的意义:就算无法实现出方法的内容,但还是定义出一组子类共同的协议。------好处就是:多态。

当然你如果不想实现父类的抽象方法,你可以将自身也编程抽象类,将实现的压力传给孙子类。

抽象类也可以实现非抽象方法。

    abstract static class Animal {
        String name;
        abstract void bark();
    }
    abstract static class Dog extends Animal {
        abstract void bark();
        int age;
        public void sleep(){
            System.out.println("睡觉");
        }
    }

Object的主要目的

  1. 作为多态,让方法可以应对多种类型机制;
  2. 让任何对象都有hashCode()等相关方法

4、多态-接口

接口的多态体现在,它可以让一个类继承多个来源,是对extends 的扩展。而且多个不同类还可以实现同一个接口,让这些类都拥有同样的标准。

实现接口必须实现它的所有方法,因为接口中的方法都是public和abstract的。

 

 

 

 

 

 

 

 

 

 

 

原创文章 120 获赞 34 访问量 28万+

猜你喜欢

转载自blog.csdn.net/qq_34589749/article/details/105100782