刘思卓的编程心得和问题整理

没有一个程序员懂得所有的技术,但是一个优秀的程序员有最快,学习一门新技术的能力...

子类继承抽象父类的方法和抽象父类的子类的一些问题
问题:子类继承抽象父类的方法,子类重写全部的父类抽象方法,但是不写方法体。那子类还是抽象的么?
详细:例如 父类public abstract void a();子类写 void a(){}不写方法体 ,可以咩。。必须要实现才可以么。。。?随便写点方法体?
回答:
void a(){
}
里面 {} 就是方法体了,算是实现父类方法了。
如果写成 void a(); 这个还是抽象方法。
 
补充 :上一个问题结束的太快,我都无法补充了。
追问:啊哈哈哈哈哈哈哈,,,sorry。。。怪我  只要有花括号就是 实现方法了是这意思吧哈。
补充:是的,方法名后吗花括号以及它包含的内容都是方法体。


问题2:书上写如果抽象父类的子类不能实现所有抽象方法,那么子类也是抽象的。那么问题来了,如果父类有5个抽象方法,子类写了4个但是都实现了,那之类算抽象类还是普通类呢?抽象类不能用new来创建实例的话,那怎么引用抽象类?有什么类似的代码吗?
回答:
如果没有实现抽象父类的全部抽象方法,那么子类只能定义为抽象类
public abstract class Shape {
    public abstract void getArea();
}
 
public class Circle extends Shape {
    private int radius = 5;
    public void getArea(){
        System.out.println(Math.pi * this.radius * this.radius);
    }
}
 
public class Test{
    public static void main(String[] args){
        Shape s = new Circle();
        s.getArea();
    }
}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shiguifen1009/article/details/49891655
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

子类继承抽象父类的方法和抽象父类的子类的一些问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭