abstract抽象类和抽象方法
1、为什么要有抽象?当父类中的某些方法不确定时,可以用abstract来修饰,这样的方法叫做抽象方法;
2、用abstract修饰的类叫做抽象类,抽象类中不一定要有abstract修饰的抽象方法;
public abstract class Car{//定义一个抽象类汽车
public String color(){//抽象类中只有一个普通方法,没有抽象方法
String s="red";
return s;
}
但是,如果一个类中有用abstract修饰的方法,那么这个类一定是抽象类(用abstract修饰)
public abstract class Car{//类中有一个抽象方法,Car类就必须用abstract修饰
public abstract String color();//类中有一个抽象方法
}
3、抽象方法不能有方法主体,即不能写大括号{ }
public abstract String color();
4、抽象类不能被实例化。因为抽象类中方法未具体化,这是一种不完整的类,所以直接实例化也就没有意义了。
所以,抽象类是为了把相同的但不确定的东西的提取出来,为了以后的重用。
定义成抽象类的目的:为了在子类中实现抽象类。
5、接口是抽象类的极端情况,接口不能有不抽象的方法,它的所有方法都要求也默认是抽象的,所以它不需要在方法前加abstract。