介绍:就是一个类中没有足够的信息去描述一件具体的事物
特点:1.抽象类可以有构造方法,但是不能创建抽象类的对象
2.抽象类中可以拥有普通的、静态的属性和普通方法、静态方法
3.抽象类中可以定义抽象方法,抽象方法只能有方法的声明,不能有方法体,而且抽象方法一定要有子类来实现
抽象方法定义:publuc abstract 返回值类型 方法名(参数列表);
4.如果子类没有实现父类中的抽象方法,那么子类也要定义成抽象类,由子类来负责是现
5.定义抽象类使用abstract 关键字 ,语法:
访问修饰符 abstract class 类名()
6.如果一个类中有一个方法是抽象出来的,那这个类一定是抽象类;但是抽象类中,不一定要有抽象方法
示例:
public class Demo{
public static void main(String[]args){
//Shape shape=new Shape(2,2);
ZhengShape zs=new ZhengShape(3,3);
System.out.println("面积:"+zs.area());
zs.zhouChang();
zs.t1();
Shape.t2();
}
}
//定义抽象类
abstract class Shape{
double width;
double height;
public Shape(double width,double height){
this.width=width;
this.height=height;
}
//定义抽象方法
public abstract double area();
public abstract void zhouChang();
public void t1(){
System.out.println("----抽象类中的普通方法----");
}
public static void t2(){
System.out.println("----抽象类中的静态方法----");
}
}
class ZhengShape extends Shape{
public ZhengShape(double w,double h){
super(w,h);
}
public double area(){
return super.width*super.height;
}
public void zhouChang(){
S伊斯特曼。呕吐。println("周长:"+((super.width+super.height)*2)));