不积跬步,无以至千里;不积小流,无以成江海。
Java语言基础
Java的对象的多态性
父子实例之间的转化处理:
对象向上转型:父类 父类实例 = 子类实例、自动完成转化
对象向下转型:子类 子类实例 = (子类)父类实例、强制完成转化
向上转型(描述一些公共的特征)
可以对参数统一设计:
class People {
@Deprecated
public void say() {
System.out.println("I am people");
}
public String sayy() {
return "I am a people";
}
}
class Student extends People{
@Override
public void say() {
// TODO Auto-generated method stub
System.out.println("I am Student");
}
}
class Child extends People{
@Override
public void say() {
// TODO Auto-generated method stub
System.out.println("I am child");
}
}
public class Test {
public static void main(String[] args) {
People student = new Student();
People child = new Child();
fun(student);
fun(child);
}
public static void fun(People people) {
people.say();
}
}
向下转型(描述子类自己特殊的定义)
但是向下转型不安全
class Person {
public void say() {
System.out.println("I am person");
}
}
class SuperMan extends Person {
public String fly() {
return "I can fly";
}
}
public class JavaDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person per = new SuperMan();
per.say();
SuperMan supe = (SuperMan) per;
System.out.println(supe.fly());
}
}
浙公网安备 33010602011771号