抽象类
一、作用: 作为类的模板 ,用来依据抽象类的格式来修改并创建新的类。
二、不能直接创建对象,只能通过抽象类衍生出新的类,再由子类创建对象。
三、定义:
abstract class 类名
{
成员变量声明;
//一般方法
返回类型 函数名(参数列表){
}
//抽象方法,方法体在子类中定义
修饰符 abstract 返回类型 函数名(参数);
}
利用父类的数组变量来访问子类对象的成员
(1)先创建父类的数组变量;
(2)创建子类对象并放入数组,利用数组元素来访问子类的内容。
例:
package com;
public class JavaTest {
public static void main(String ar[])
{
//声明并初始化父类的数组
TFather tf[] = new TFather[2];
//创建子类对象并存于数组中
tf[0] = new TChild1();
tf[0].num = 9;
tf[1] = new TChild2();
tf[1].num = 10;
//利用父类数组变量来访问子类对象的成员
tf[0].show();
tf[1].show();
}
}
abstract class TFather{
protected int num;
public abstract void show();
}
class TChild1 extends TFather{
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("num1 = "+num);
}
}
class TChild2 extends TFather{
@Override
public void show() {
// TODO Auto-generated method stub
System.out.println("num2 = "+num);
}
}
结果:
num1 = 9
num2 = 10
包含抽象方法的类一定要声明为抽象类