Java学习笔记-Java基础4(面向对象之继承、多态)

1.继承:

    1)避免 代码重复

    2)通过extends关键字实现继承

    3)子类继承父类后,将具有本类的成员和父类的成员

    4)子类只能继承一个父类,但是父类可以有多个子类

    5)构造子类之前必须先构造父类,通过super(),默认添加在子类构造的第一行

2.多态:多种形态,在继承的基础上,提高代码的可维护行、可扩展性

    1)一个类型指向不同的对象时,有不同的实现

    2)同一个对象造型成不同的类型时,有不同的功能

3.向上造型:父类的引用指向子类的对象

   强制转型:父类到子类,前提,对象是子类;到接口,前提,对象实现了该接口。通过instanceof避免转型失败

4.static:

    1)修饰的成员变量为静态变量,属于类,存在于方法区,只有一份,为所有对象共有

    2)修饰的方法,没有隐式this传递,只与参数有关,与对象无关,常常通过类名点访问

    3)修饰的代码块,属于类,在类加载时加载,存在于方法区,只加载一次,一般用于加载静态资源(图片、音频、视频等)

5.final:

    1)修饰变量----不能被修改

    2)修饰方法----不能被重写

    3)修饰类-------不能被继承

6.abstract:

    1)抽象方法,没有方法体,由abstract修饰

    2)抽象类,由abstract修饰,可以包括抽象方法和普通方法

    3)有抽象方法的类一定是抽象类,类中没有抽象方法也可以声明为抽象类

    4)抽象类一般需要继承,在子类中要重写所有的抽象方法

    5)抽象类的意义:

            -提供一个共有的类型,封装共有的特征

            -提供特定的入口(方法名)

7.接口:

    1)提供一个标准、规范

    2)只能包含常量(public static final 修饰)和抽象方法(public abstract修饰)

    3)通过implements关键字实现,实现类要重写所有的抽象方法

    4)不能被实例化

    5)实现类可以实现多个接口,由逗号隔开

    6)若继承(extends)和实现(implements)都用,必须先继承后实现

    7)接口之间可以继承

8.内部类:

    1)一个类(Inner)定义在另一个类(Outer)中

    2)通常只服务于Outer,对外不可见,一般在Outer中实例化

    3)可直接访问Outer的成员

    4)有隐式(Outer类名.this)的引用指向Outer的成员

9.匿名内部类:若在一个程序中只需要一个类的对象(通常该类为子类或实现类),且在创建完后就失去价值,这个类可以不用命名,称之为匿名内部类

    语法:Inter i = new Inter(){...};

10.重写与重载的区别:

    1)重写发生在父子类中,子类与父类的方法签名相同;重载发生在一个类中,方法名相同但参数列表不同

    2)重载绑定编译器,看类型调用方法;重写绑定运行期,看对象调用方法

猜你喜欢

转载自blog.csdn.net/justdi0209/article/details/80081934