美文网首页
JAVA之面向对象二

JAVA之面向对象二

作者: 续笙 | 来源:发表于2018-02-10 13:27 被阅读0次

    1.继承    在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。

    继承的格式&使用: 在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。

    格式:    class 子类 extends 父类 {}

    子类在继承父类的时候,会自动拥有父类的成员。

    继承的好处:

    1、继承的出现提高了代码的复用性,提高软件开发效率。

    2、继承的出现让类与类之间产生了关系,提供了多态的前提。

    在类的继承中,需要注意一些问题,具体如下:

    1、在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类2、多个类可以继承一个父类                      3、在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类                        ​ 4、在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。例如上面的这种情况中,B类是A类的子类,同时又是C类的父类。

    继承-子父类中成员变量的特点

    成员变量:如果子类父类中出现不同名的成员变量,这时的访问是没有任何问题。当子父类中出现了同名成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字super来完成。super用来表示当前对象中包含的父类对象空间的引用。

    在子类中,访问父类中的成员变量格式:

            super.父类中的成员变量

    1.子父类中成员方法的特点

    当在程序中通过对象调用方法时,会先在子类中查找有没有对应的方法,若子类中存在就会执行子类中的方法,若子类中不存在就会执行父类中相应的方法。

    成员方法特殊情况——覆盖

    子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。

    2.方法重写(覆盖)的应用:

    当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。

    在子类中,访问父类中的成员方法格式:

            super.父类中的成员方法();

    方法重写的注意事项

    ​ 子类方法覆盖父类方法,必须要保证权限大于等于父类权限。

    总结:当一个类是另一个类中的一种时,可以通过继承,来继承属性与功能。如果父类具备的功能内容需要子类特殊定义时,进行方法重写。

    二.抽象类    分析事物时,发现了共性内容,就出现向上抽取。会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法。

    抽象方法定义的格式:                                public abstract 返回值类型 方法名(参数);

    抽象类定义的格式: abstract class 类名 {  }

    抽象类的特点:

    1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。    2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。                                3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

    之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

    3.接口:理解为是一个特殊的抽象类,但它不是类,是一个接口

    接口的特点:

    1,定义一个接口用interface关键字 interface Inter{}

    2,一个类实现一个接口,实现implements关键字    class Demo implements Inter{}

    3, 接口不能直接创建对象

    通过多态的方式,由子类来创建对象,接口多态

    接口中的成员特点:

    成员变量:只能是final 修饰的常量

    默认修饰符: public static final

    成员方法:只能是抽象方法

    默认修饰符: public abstract

    类与类,类与接口,接口与接口之间的关系

    类与类之间:继承关系,单继承,可以是多层继承

    类与接口之间: 实现关系,单实现,也可以多实现

    接口与接口之间:继承关系,单继承,也可以是多继承

    Java中的类可以继承一个父类的同时,实现多个接口

    4.多态:理解为同一种物质的多种形态

    多态使用的前提:

    1,有继承或者实现关系

    2,要方法重写

    3,父类引用指向子类对象

    多态的成员访问特点:方法的运行看右边,其他都看左边

    多态的好处:提高了程序的扩展性

    多态的弊端:不能访问子类的特有功能

    多态的分类

      类的多态

    abstract class Fu { 

    public abstract void method();

    }

    class Zi extends Fu {

    public void method(){

    System.out.println(“

    }

    }

    //类的多态使用

    Fu fu= new Zi();

    接口的多态

    interface Fu {

    public abstract void method();

    }

    class Zi implements Fu {

    public void method(){

    System.out.println(“重写接口抽象方法”

    }

    }

    //接口的多态使用

    Fu fu = new Zi();

    instanceof 关键字

    格式: 对象名 instanceof 类名                    返回值: true, false                                        作用: 判断指定的对象 是否为 给定类创建的对象

    相关文章

      网友评论

          本文标题:JAVA之面向对象二

          本文链接:https://www.haomeiwen.com/subject/ccictftx.html