这篇博客主要是总结一下Java中抽象类的用法。
1.抽象类的基本概念
(1)很多具有相同特征和行为的对象可以抽象为一个类,很多具有相同特征和行为的类可以抽象为一个抽象类。
(2)使用abstract关键字声明的类为抽象类
2.抽象类的语法
public abstract class Women
{
private String name;
//抽象方法,只有声明,没有方法体
public abstract void say();
}
3.抽象类的规则
(1)抽象类可以没有抽象方法,但是有抽象方法的类必须是抽象类
(2)非抽象类继承抽象类必须实现所有的抽象方法
(3)抽象类可以有方法实现和属性,区分接口
(4)抽象类不能被实例化,可以将父类的引用指向子类的实例
(5)抽象类不能声明为final
AbstractClassDemo
public class AbstractClassDemo {
public static void main(String agrs[]){
Godness godness = new Godness();
godness.setName("高圆圆");
godness.say();
uglyWomen u = new uglyWomen();
u.setName("小白");
u.say();
}
}
//女人
//声明一个类为抽象类
abstract class Women{
private String name;
//抽象方法,只有声明,没有实现
public abstract void say();
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
//女神类
class Godness extends Women
{
//实现父类的抽象方法,必须全都实现
@Override
public void say() {
System.out.println("偶是女神,我是"+getName());
}
}
class uglyWomen extends Women
{
//实现抽象方法
@Override
public void say() {
System.out.println("我虽然丑,但是丑女无敌,我是"+getName());
}
}