------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
package Demo;
public class Demo11 {
/**
* 1.如果抽象类中没有构造函数,子类继承该抽象类后,是否可以创建实例?
*
* 答:可以创建子类对象,因为抽象类是不能创建对象的,只能派生子类,抽象类中一般至少应包含一个抽象方法,包括抽象方法的类必须定义为抽象类。
*
* 注意:不能用abstract修饰构造方法、静态方法和私有方法,子类中不能有与父类中抽象方法同名的抽象方法。
*
* 2.如果抽象类中有构造函数子类继承抽象类后,子类本身也有实例参数,那是采用父类中的,还是用自己的实例参数呢?
*
* 答:如下例所示,创建子类对象,调用子类方法实现所需要的功能扩展。
*/
public static void main(String[] args) {
// 创建子类对象,调用子类方法
Rectangle r = new Rectangle(2.5, 3.4);
System.out.println(r.show_area());
}
}
abstract class Figure {
protected double x, y;
// 定义一个抽象方法show_area()
abstract double show_area();
}
class Rectangle extends Figure {
Rectangle(double a, double b) {
x = a;
y = b;
}
// 子类复写show_area
double show_area() {
return x * y;
}
}