抽象类用abstract关键字进行修饰,抽象类不能直接创建对象,只能通过抽象类派生出的类来创建对象,
抽象类的定义与使用规则:
(1)包含一个抽象方法的类必须是抽象类
(2)抽象类与抽象方法都要使用abstract进行修饰
(3)抽象方法只需声明,不能实现即不能有方法实体
(4)抽象类必须被子类继承,子类必须复写抽象类中的全部抽象方法
抽象类的定义与使用规则:
(1)包含一个抽象方法的类必须是抽象类
(2)抽象类与抽象方法都要使用abstract进行修饰
(3)抽象方法只需声明,不能实现即不能有方法实体
(4)抽象类必须被子类继承,子类必须复写抽象类中的全部抽象方法
实例代码:
public class Demo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cat cat=new Cat("小花","黄色","鱼");
cat.getInfo();
}
}
/*定义Animal抽象类*/
abstract class Animal{
String name;
String color;
/*无参构造方法*/
public Animal(){}
/*带参构造方法*/
/**
* @param name
* @param color
*/
public Animal(String name, String color) {
super();
this.name = name;
this.color = color;
}
public String getName() {
return name;
}
public String getColor() {
return color;
}
public void setName(String name) {
this.name = name;
}
public void setColor(String color) {
this.color = color;
}
/*抽象方法*/
public abstract void getInfo();
}
/*定义cat类继承Animal抽象类*/
class Cat extends Animal{
String favFood;
/**
* @param favFood
*/
public Cat(String name,String color,String favFood) {
super(name,color);
this.favFood = favFood;
}
public String getFavFood() {
return favFood;
}
public void setFavFood(String favFood) {
this.favFood = favFood;
}
/*改写Animal抽象类中的抽象方法*/
public void getInfo(){
System.out.println("name:"+super.getName());
System.out.println("color:"+super.getColor());
System.out.println("favFood:"+this.favFood);
}
}