Open nxmxx opened 4 years ago
多态 1.定义:多态是对于对象来定义,举例学生这个对象既是学生,又是人。他是多种状态的。 2.多态性的前提:extends继承或implement实现是多态性的前提; 2.多态的使用和格式: 父类名称 对象名 =new 子类名称(); 或者 接口名称 对象名 = new 子类名称(); 3.多态中成员变量的访问特点 注:与继承中成员变量的访问特点一模一样。直接通过对象名称去访问对象名称左边的类中的:成员变量、成员方法中的成员变量。 (1) 直接访问: 定义:直接通过对象名称去访问对象名称左边的类中的成员变量,如果没找到就向上找。 使用类: Psvm(){ //多态的使用 fu as =new zi(); as.num; //as 是父类对象,所以在优先调用父类中的成员变量,没有向上找,不向下找。
} (2) 间接访问: 定义:通过访问方法去间接访问成员变量,父类或子类成员变量在其类中的方法当中,通过调用其所在方法便可访问成员变量,若找不到就向上找 使用类: Psvm(){ //多态的使用 fu as =new zi(); as.showNum(); //有重复变量名时,as 是父类对象,所以在优先调用父类中的成员方法,没有向上找,不向下找。 }
}
5.使用多态的好处 好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会改变。
6.对象的向上转型 定义:对象的向上转型就是父类引用指向子类,也就是多态。 缺点:使用了向上转型(父类引用指向子类),就没办法去调用子类的方法。
7.对象的向下转型 问题描述:使用了向上转型(父类引用指向子类),就无法使用子类方法,所以使用向下转型“还原”。 定义:将父类对象还原成为本来子类的对象。 前提:先存在向上转型,才会向下转型。 格式: 父类名称 对象名 = new 子类名称();//必须先有向上转型 子类名称 对象名 = (子类名称)父类名称;//向下转型
8.instanceof关键字进行判断向下转型是否异常
多态 1.定义:多态是对于对象来定义,举例学生这个对象既是学生,又是人。他是多种状态的。 2.多态性的前提:extends继承或implement实现是多态性的前提; 2.多态的使用和格式: 父类名称 对象名 =new 子类名称(); 或者 接口名称 对象名 = new 子类名称(); 3.多态中成员变量的访问特点 注:与继承中成员变量的访问特点一模一样。直接通过对象名称去访问对象名称左边的类中的:成员变量、成员方法中的成员变量。 (1) 直接访问: 定义:直接通过对象名称去访问对象名称左边的类中的成员变量,如果没找到就向上找。 使用类: Psvm(){ //多态的使用 fu as =new zi(); as.num; //as 是父类对象,所以在优先调用父类中的成员变量,没有向上找,不向下找。
} (2) 间接访问: 定义:通过访问方法去间接访问成员变量,父类或子类成员变量在其类中的方法当中,通过调用其所在方法便可访问成员变量,若找不到就向上找 使用类: Psvm(){ //多态的使用 fu as =new zi(); as.showNum(); //有重复变量名时,as 是父类对象,所以在优先调用父类中的成员方法,没有向上找,不向下找。 }
}
5.使用多态的好处 好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会改变。
6.对象的向上转型 定义:对象的向上转型就是父类引用指向子类,也就是多态。 缺点:使用了向上转型(父类引用指向子类),就没办法去调用子类的方法。
7.对象的向下转型 问题描述:使用了向上转型(父类引用指向子类),就无法使用子类方法,所以使用向下转型“还原”。 定义:将父类对象还原成为本来子类的对象。 前提:先存在向上转型,才会向下转型。 格式: 父类名称 对象名 = new 子类名称();//必须先有向上转型 子类名称 对象名 = (子类名称)父类名称;//向下转型
8.instanceof关键字进行判断向下转型是否异常