package question20240710;public class Question {/*1. 什么叫做多态,条件是什么?2. 使用多态特性,带来了什么样的好处?3. 使用多态特性,注意什么样的弊端?4. 关于多态的弊端我们如何解决?5. 在A包中我要同时使用B包下的Student和C包下的Student类,该如何使用?6. final修饰类,修饰方法,修饰变量的特点?*/public static void main(String[] args) {/*1.多态是同类型的对象,表现出的不同形态;条件是1.有继承关系、2.父类引用指向子类对象 Animal a = new Dog();2.多态的特性是可以用父类对象接收子类对象,扩展性和便利性,在方法种不需要为每个子类对象都写方法,而是写一个通用的方法,并且用父类接收3.弊端是子类中特有的功能,使用多态后无法使用;原因:编译看左边,也就是看父类,父类中是不具备子类中特有的功能(方法)等的,所以说无法通过编译4.解决方法:可以对父类的变量强制类型转换(大类变小类),将父类型转换为想要的子类型。 如:Animal a = new Dog();Dog d = (Dog) a;但是要注意的是,不能乱转换,要根据转换前的子类进行转换,如上方代码,转换前子类是Dog,所以说也只能强转为Dog。5.使用全类名 B.Student 和 C.Student。6.final 修饰类,无法继承final 修饰方法,无法重写final 修饰变量,变量值无法修改,变为常量。*/System.out.println("hello Java");}
}