java抽象类

概念:在面向对象的世界里,所有的对象都是通过类来实例化的,但并不是所有的累都使直接用来实例化对象的,如果一个类中没有包含足够的信息来描述一个具体的事务,这样的类可以形象成抽象类。

java中提供了一种专门供子类来继承的类,这个类就是抽象类,其语法形式如下:

abstract class 类名{

}

java也提供了一种特殊的方法,这个方法不是一个完整的方法,只包含有方法的声明,没有方法体,这样的方法叫做抽象方法,其语法形式如下:

其他修饰符 abstract 返回值 方法名();


例子:

package com.bd.zuche;


public class TestAbstract {
public static void main(String[]args)
{
Person chinese=new Chinese();
chinese.speak();
chinese.work();

Person american=new American();
american.speak();
american.work();
}
}
abstract class Person{

String name="人";
String color="肤色";

public abstract void speak();//没有方法体,用于在子类中实现
public abstract void work();
}
class Chinese extends Person{
String houseHold="北京";


public String getHouseHold()
{
return houseHold;
}
public void speak()
{
System.out.println("中国人说汉语");
}
public void work()
{
System.out.println("中国人勤劳勇敢");
}
}
class American extends Person{
String houseHold="美国";
public String  getHouseHold()
{
return houseHold;
}
public void speak()//子类中必须实现父类中定义的方法
{
System.out.println("美国人说英语");
}
public void work()
{
System.out.println("美国人勤劳的工作");
}
}

结果:


抽象类的特征:

(1)抽象类不能被直接实例化,例如上面语句写成Person chinese =new Person(); 编译时会报错

(2)抽象类的子类必须实现抽象方法,除非子类也是抽象类。

(3)抽象类里可以有普通方法,也可以有抽象方法,但抽象方法的类必须是抽象类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值