当前位置: 首页> 科技> 名企 > Java基础入门-多态

Java基础入门-多态

时间:2025/7/11 15:12:18来源:https://blog.csdn.net/qq_52241267/article/details/141193898 浏览次数:2次

Test()

package polymorphism;public class Test {public static void main(String[] args) {People s1 = new Student();//多态s1.run();//Student run fastlys1.tuy();//只有people有的函数也不报错  just people have// s1.test();报错//多态存在问题:不能直接调用子类独有方法,可以使用多态下的类型转换实现//自动类型转换: 父类 变量名=new 子类();//强制类型转换:子类 变量名 =(子类) 父类变量Student s2 = (Student) s1;//强制类型转换s2.test();//此时就可以调用test//强制类型转换注意事项://1.存在 继承/实现关系 就可以在编译阶段强制类型转换,编译不会报错//2. 运行时,如果发现对象的真实类型和 强制转换后的类型不同,就会报类型转换异常 的错误 eg:将s1强制转换为Teacher类型时编译不会报错,但是运行时发现不是一个类型就会报错
//因此java建议:使用 instanceof 关键字判断当前对象的真实类型,再进行强转if (s1 instanceof Teacher) {Teacher s3 = (Teacher) s1;} else {System.out.println("不是同一类型");}}}

People()

package polymorphism;public class People {public void run(){System.out.println("people can run");}public void tuy(){System.out.println("just people have");}
}

Student()类

package polymorphism;public class Student extends People{public void run(){System.out.println("Student run fastly");}public void test(){System.out.println("have a test");}
}

Teacher

package polymorphism;public class Teacher extends People{public void run(){System.out.println("teacher run slowly");}public void teach(){System.out.println("teach Students");}
}
关键字:Java基础入门-多态

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: