1.抽象类的基本概念
(1)很多具有相同特征和行为的对象可以抽象为一个类;很多具有相同特征和行为的类可以抽象为一个抽象类
(2)使用abstract关键字声明的类为抽象类
2.抽象类的语法
//声明一个抽象类
public abstract class Women{
private String name;
public abstract void say();//抽象方法(只有声明,没有实现)
}
抽象类的规则:
1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类
2.非抽象类继承抽象类必须实现所有的抽象方法
3.抽象类可以有方法实现和属性
4.抽象类不能被实例化
5.抽象类不能声明为final
/*
* 抽象类
*/
public class AbstractClassDemo {
public static void main(String[] args){
Goddess g = new Goddess();
g.setName("桐桐");
g.say();
System.out.println("--------------------");
UglyWomen u = new UglyWomen();
u.setName("小白");
u.say();
}
}
//女人
//abstract表示声明一个类为抽象类
abstract class Women{
private String name;
public Women(){
System.out.println("Women的构造方法");
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public abstract void say();//抽象方法(只有声明,没有实现)
public abstract void method();
}
class Goddess extends Women{
//实现父类的抽象方法
public void say(){
System.out.println("偶是女神,我是" + getName());
}
public void method(){
}
}
class UglyWomen extends Women{
//实现父类的抽象方法
public void say(){
System.out.println("我虽丑,但是我丑女无敌,我是" + getName());
}
public void method(){
}
}