您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第二季学习笔记-抽象类
发布时间:2017-07-10 14:08:40编辑:雪饮阅读()
很多具有相同特征和行为的对象可以抽象为一个类,很多具有相同特征和行为的类可以抽象为一个抽象类。
使用abstract关键字声明的类为抽象类
继承抽象类就必须实现抽象类的所有抽象方法
抽象类规则:
抽象类可以没有抽象方法,有抽象方法的类必须是抽象类。
继承抽象类就必须实现抽象类的所有抽象方法(只要有花括号就代表实现,即便方法体没有任何代码)
可以有普通方法和属性
抽象类不允许实例化,普通类可以通过new实例化出对象,而抽象类不允许这样,只允许被继承,然后对继承之后的子类实例化。
抽象类不允许使用final修饰符
抽象类可以有构造方法,但不代表抽象类可以构造对象。
public class CS
{
public static void main(String[] args)
{
Goddess g=new Goddess();
g.setName("杜姐姐");
g.say();
UglyWomen u=new UglyWomen();
u.setName("小白");
}
}
//女人
//abstract表示声明一个类为抽象类
abstract class Women{
private String name;
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("my name is "+getName());
}
public void method(){
}
}
class UglyWomen extends Women{
//实现父类的抽象方法
public void say(){
System.out.println("我虽丑,但我心灵可美,我是"+getName());
}
public void method(){
}
}
关键字词:javase,抽象类