从零基础接触java第五周第五节

  上一节跟大家分享了内部内,这一届我要跟大家的分享的是继承以及抽象类。

  首先跟大家说说继承吧,所谓的继承,便是一个子类继承父类,关键词:extends,继承有什么好处呢?通过继承,我们能调用父类的方法,减轻我们代码的冗余。那么现在先说一个案列:

class Father{
public void pln(){
System.out.println("We are father!");
}
}
class Son extends Father{}

在上面代码中,我写了一个father类,还有一个son类,father类中又pln方法,son类中什么都没有,但是son类通过extends继承了父类,这样,我们在主函数中new一个son类对象时,可以直接使用父类的pln方法,减少了我们的代码量,在继承这方面,有几个要点,子类不能继承父类私有的(private)的方法和属性,子类继承父类的时候,同时也会继承父类的构造函数。而且在继承中,只允许单个继承,不允许多个继承,什么意思?如上代码,当son继承了father类时,就不能继承其他类了,只能继承father这一个类;然后你会问?father能再次被其他类继承吗?答案是可以的。最后还有一点就是,子类可以覆盖父类的方法,所谓的覆盖父类的方法,首先方法权限必须大于或等于父类权限,也就是前面的public和default和private,而且方法名必须和父类一样,列如:

class Father{
public void pln(){
System.out.println("We are father!");
}
}
class Son extends Father{
public void pln(){
System.out.println("We are son!");
}
}

比如以上代码,便是子类覆盖了父类的方法pln,如果你再在主函数调用son输出pln,那么就会输出We are son。注:如果父类的方法是静态的,那么子类覆盖也必须是静态的。每个子类继承父类的时候,都会继承父类的构造方法。

  接下来跟大家分享抽象类,所谓的抽象类便是在上面继承上面的衍生,所谓的抽象类就是父类中写入抽象方法,必须在子类中实现,并且抽象类不能直接new,必须通过子类来实现。列入以下代码:

abstract class Father{
public abstract void pln();
}
class Son extends Father{
public void pln(){
System.out.println("We are son!");
}
}

上面便有一个抽象类Father,然后用Son类去继承它,并且继承了pln()方法。注意,pln()方法的定义由于前面加了abstract,所以并没有在其中写入方法。而是通过子类类实现的方法,如果一类中有方法用了abstract,那么这个类必须加abstract成为抽象类,注意,抽象类允许有自己已经实现的方法和构造函数,并且能被final修饰。关于抽象类的分享完毕,不懂得可以在下方留言我会解答。同时有错误希望大家指出,谢谢。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值