类包括成员变量(属性,0个或多个)+方法(0个或多个)
一个完整的类:所有的方法都有实现(方法体(函数名下面的内容))
类可以没有方法,但是有方法必须要有实现,这才是完整的类
一个完整的类才可以被实例化,被new出来;
如果一个类暂时有方法未实现,需要被定义为抽象类
抽象类关键字abstract声明,加在class之前
如public abstract class Shape
抽象类的组成:
①成员变量:个数不限
②具体方法:可以有方法是正常的,方法有实现,个数不限
③抽象方法:加abstract关键字,个数不限。
抽象类也是类,一个类继承于抽象类,就不能继承其他的(抽象)类(java中的类的继承是单根继承)
子类可以继承于抽象类,但是一定要实现父类们所有abstract的方法,如果不能完全实现
那么子类也必须是被定义为抽象类
package mooc_5_2;
public abstract class Shape {
int area;
public abstract void calArea();
}
package mooc_5_2;
public class Rectangle extends Shape {
int width;
int length;
public Rectangle(int length,int width) {
this.length=length;
this.width=width;
}
public void calArea()
{
System.out.println(this.length * this.width);
}
public static void main(String[] args) {
Rectangle rect=new Rectangle(10,5);
rect.calArea();
}
}
子类Rectangle继承于父类Shape,实现了抽象类Rectangle中的所有方法,必须全部实现,不然就报错