多态与父子类,抽象类new调用的一点区别-----学习日志

chinese a=new chinese();
a.say();
Amerca b=new Amerca();
b.say();

==========
Person c=new chinese();
c.say();
Person d=new Amerca();
d.say();

 

以上两者其实是一样的实现效果。不过一个是继承类子类类型,一个是多态父类类型。

用多态的时候有一个前提就是必须是继承类。这样用父类类型才能调用子类中重写的方法。

 

=========

 

public class Person {
public void say(){
// System.out.println("人类有说话的能力"); 父类中这一句有没有都可以正常实现。甚至可以直接转化抽象类public abstract say();
};
}

假如你重新创建一个renlei的抽象类

public abstract class renlei {
public abstract void say();
public void say1(){};
}

效果一样,可以用继承,多态两种方法调用。

japanese e=new japanese();
e.say();
renlei f=new japanese();
f.say();

 总结成一句话就是

 

子类有相同的功能抽取出来放在一个类里当父类,然后被继承。如果父类的方法没有实现可以把父类写成抽象类,就进一步简化不用谢方法体,只写方法名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值