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

原创 2015年11月17日 19:00:41
问题:子类继承抽象父类的方法,子类重写全部的父类抽象方法,但是不写方法体。那子类还是抽象的么?
详细:例如 父类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();
    }
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

子类实现父类的抽象方法,父类调用抽象方法

首先,父类有一个抽象方法,并且在自身的其他方法中调用了 public abstract class Baba { public abstract void say(String a); publi...

抽象类继承抽象类可以不重写父类的抽象方法,普通类继承抽象类必须重写父类中的抽象方法,实现接口也是同样的道理

抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法。如果子类不是抽象类,则要求子类一定要实现父类中的抽象方法。 接口类继承,如果是一个子接口,可以扩展父接口的方法;如果是一个子抽象类,可以部...

抽象类有反射

abstract类中可以有抽象方法,也可以没有。但是又抽象方法的类一定是抽象类。 抽象类还可以包含具体数据和具体方法。不能被实例化。可以引用子类的实例。 abstract和static,private...

Java基础——构造函数、抽象类、父类构造方法初始化

构造函数: 1.在对象初始化时调用,方法名与类名完全相同; 2.构造函数可写,也可以不写;如果不写,系统将当做写了一个无参构造函数处理; 3.不能写返回值类型; 抽象类: 1.先继承,再使用;...

java父类调用被子类重写的方法

1.如果父类构造器调用了被子类重写的方法,且通过子类构造函数创建子类对象,调用了这个父类构造器(无论显示还是隐式),就会导致父类在构造时实际上调用的是子类覆盖的方法(你需要了解java继承中的初始化机...

c++ 子类“重载”父类的方法

其实,并没有‘子类“重载”父类的方法’这种说法。 《C++Primer Plus》 中说道: 如果基类声明被重载了,则应该在派生类中重新定义所有的基类版本。 如果在派生类中只重新定义一个版本,其他版本...

Java抽象类及子类实例化顺序和方法调用顺序测试

测试目的 验证抽象类及子类实例化顺序; 验证抽象类是否可以在子类未实例化时调用子类实现的抽象方法; 验证java的多态性 实例抽象类:package com.secbro.test.abstractI...

java基础入门-父类引用子类对象(2)-抽象类

抽象类:具有抽象方法的类,需要使用abstract关键字修饰   关系图       下面上代码   package com.ray.testobject; /** * 抽象类 * * @a...

java基础----算法

算法 冒泡排序:从第一个数开始,比较相邻两个数的大小,如果前>后,交换位置,一轮结束后可以确定最后那个数是最大值,第二轮不管第一轮的最大值,再从第一个数开始比较相邻两数,比较到第一轮最大值前面结束,此...
  • AooMiao
  • AooMiao
  • 2017年03月31日 13:58
  • 196

java中实例化子类时会不会调用父类的构造方法?

子类不会继承父类的构造方法(这里说的不能继承是说,构造方法不能在子类中被覆写,有时候说的“继承”父类的构造方法是说子类的构造方法调用父类的构造方法。),但是子类在实例化对象时:如果子类的构造器没有显示...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:子类继承抽象父类的方法和抽象父类的子类的一些问题
举报原因:
原因补充:

(最多只允许输入30个字)