Java抽象类有什么作用呢,什么时候要用到它呢?
我刚刚入门,还不懂抽象类的作用,看别的知道说要让子类实现父类的方法,实现多态,我也可以不用抽象类,直接让子类重写父类的方法实现多态啊‘例如:publicabstractc...
我刚刚入门,还不懂抽象类的作用,看别的知道说要让子类实现父类的方法,实现多态,我也可以不用抽象类,直接让子类重写父类的方法实现多态啊‘
例如:
public abstract class Fq {
void chifan(){
System.out.println("父亲在吃饭");
}
void zoulu(){
System.out.println("父亲在走路");
} }
*********************************************
public class Ez1 extends Fq{
void chifan(){
System.out.println("儿子在吃饭");
}
void zoulu(){
System.out.println("儿子在走路");
} }
就像是这样,可以让多个儿子继承他来实现多态,那到底什么时候用到抽象类呢,求大神帮忙~~~~ 展开
例如:
public abstract class Fq {
void chifan(){
System.out.println("父亲在吃饭");
}
void zoulu(){
System.out.println("父亲在走路");
} }
*********************************************
public class Ez1 extends Fq{
void chifan(){
System.out.println("儿子在吃饭");
}
void zoulu(){
System.out.println("儿子在走路");
} }
就像是这样,可以让多个儿子继承他来实现多态,那到底什么时候用到抽象类呢,求大神帮忙~~~~ 展开
2个回答
展开全部
多数儿子所具有的相同的方法处理。
比如 人的俩子类是 男人,女人 ,父类有 一个抽象方法 撒尿 ,一个可继承的方法 走路。
撒尿 男人 女人 动作不一样 所以抽象起来比较好,让他们自己去选择撒尿的方式。
走路 男人 女人 都一样的走路方法,所以父类可以实现好了。不用子类去实现。
再比如 银行存款 抽象父类 是存款 抽象方法 是 存款到期的 账户余额
子类是 定期 活期
这样俩子类都要实现 账户余额的方法
但是 活期利率算法 和 定期不一样 就要求 子类分别自己实现。
这样主函数在调用 存款的 账户余额的时候 不需要关心子类是谁 ,只需要 知道 调用 账户余额 方法,就能得到子类自己算法实现的账户余额了。
比如 人的俩子类是 男人,女人 ,父类有 一个抽象方法 撒尿 ,一个可继承的方法 走路。
撒尿 男人 女人 动作不一样 所以抽象起来比较好,让他们自己去选择撒尿的方式。
走路 男人 女人 都一样的走路方法,所以父类可以实现好了。不用子类去实现。
再比如 银行存款 抽象父类 是存款 抽象方法 是 存款到期的 账户余额
子类是 定期 活期
这样俩子类都要实现 账户余额的方法
但是 活期利率算法 和 定期不一样 就要求 子类分别自己实现。
这样主函数在调用 存款的 账户余额的时候 不需要关心子类是谁 ,只需要 知道 调用 账户余额 方法,就能得到子类自己算法实现的账户余额了。
追问
那抽象类出现的必要性是什么呢?就是这一直不明白
追答
只需要定义行为或者业务,至于具体如何行为,如何业务,不必关心。让具体执行的实体按照自己的定义去执行。
我也说不太清楚。
比如我们要解放中国, 你用知识解放,还是武力解放,下达指令的人不在乎,他只在乎结果。
而具体的行为,要看你怎么执行了。
出现的必要性,个人觉得是,只要你有类似的业务或者行为,但是具有这种行为的实体各不相同,但是他们都具备同样的一种行为属性,那这个行为属性就可以抽象出接口。
比如你可以把行走 抽象成接口类, 人,或者动物,都具备行走的行为,那你就可以让人和动都都继承 行走这个抽象接口。
咀嚼可以定义为抽象类,因为无论人或者动物,咀嚼的动作行为都是一致的。那这个行为就可以再抽象类里定以好,实现它的子类不必定义如何行为,只需要具备这个行为就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询