网站建设服务承诺,app安装软件,微博推广会被别人看出来吗,活动宣传推广方案怎么写一些基础介绍#xff1a; 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的#xff0c;但可以指向对象的引用的类型有很多#xff08;一般是父类或有关系的类#xff09; 多态存在的条件 有继承关系 子类重写父类方法 父类引用…一些基础介绍 即同一方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的但可以指向对象的引用的类型有很多一般是父类或有关系的类 多态存在的条件 有继承关系 子类重写父类方法 父类引用指向子类对象 注意:多态是方法的多态属性没有多态性。 instanceof和类型转换
代码示例
//父类
public class Perspn{public void run(){System.out.println(run);}
} //子类
public class Student extends Perspn{//重写run()方法Overridepublic void run(){System.out.printin(son);}public void eat(){System.out.printin(eat);}
}
//使用
public class Application {public static void main(String[] args){//父类的引用指向子类//对象能执行的方法主要看左边的类型与右边类型的关系不大//Student有的类型s2无法直接用Student有的类型s1可以直接用//Perspn有的类型s1s2可以直接用因为s1是Student类型而Student继承了Perspn类可以直接使用父类方法。Student s1 new Student();Perspn s2 new Student();object s3 new Student();//子类类型的对象可以调用自己的和父类的方法而父类类型的对象不能调用子类独有的方法如果子类重写了父类的方法那么父类类型的对象调用该方法时将会是子类重写后的方法S1.run();//son//如果run没有被重写那么输出runS2.run();//sons1.eat();//eat//因为s2是Perspn的引用类型所以不能直接使用子类的方法需要强转成子类((Student)s2).eat();//eat}
}
总结 多态是方法的多态属性没有多态 类似这种转换Perspn s2 new Student();必须要有父子关系才行 多态存在的条件 继承关系 方法重写 父类引用指向子类对象指一个变量被声明为父类的类型但实际上它引用了一个子类的对象 方法不能重写的有 static 方法 静态属于类它不属于实例 final 常量 private方法 私有