您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第二季学习笔记-多态性
发布时间:2017-07-10 14:27:09编辑:雪饮阅读()
方法的重载与重写
不同参数形式的相同方法为多态
相同方法的的不同重写为多态
多个子类就是父类中的多种形态
对象的多态性
对象多态性是从继承关系中的多个类而来
向上转型:将子类实例转为父类实例
public class NewKeywordDemo
{
public static void main(String[] args){
//Person类是Man的父类
//这是类型的自动转换,父类型包含子类型,所以子类型会转换为父类型
//类似于int a='a';
//这种数据转换方式:将子类实例转为父类实例称为向上转型
Person man=new Man();
//Person类中必须有say方法才可以调
/*
实际运行的是man中的say方法
*/
man.say();
Person women=new Women();
women.say();
//man与women都是同一个类Person,这是同一类的两种形态,也体现了多态。这叫做对象的多态性
//强制转换
//向下转换
//语法:下类型名 下类型引用变量名 (下类型名)上类型实例
Man m=(Man)man;
m.say();
//强制转换可以向下转换(相当于缩小类的范围),但不可以同级别的不同类强制转换
//仅仅能通过编译,但是运行时会抛出异常
Man m1=(Man)women;
m1.say();
//
}
}
abstract class Person
{
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public abstract void say();//抽象方法
}
class Man extends Person
{
public void say(){
System.out.println("奎托斯");
}
}
class Women extends Person
{
public void say(){
System.out.println("women");
}
}
关键字词:javase,多态性