首页 > 编程知识 正文

Java抽象类可以有具体方法吗,java抽象类例子

时间:2023-05-06 09:50:36 阅读:154928 作者:4066

抽象类

1、定义:不包含足够信息来呈现特定对象的类必须不实例化并被继承

2、abstract关键词: abstract class定义抽象类,普通类的其他功能如变量、方法等仍然存在;

公共类人员{

字符串名称; 公共字符串获取名称() {returnname;

}publicvoidsetname(stringname ) {this.name=name;

}公共void sayhi () ) {

system.out.println('hi );

}public abstract voidsayHello (;

}

3、继承抽象类:一个类只能继承一个抽象类,可以实现多个接口

4、抽象方法:抽象类中的一种特殊方法,也用abstract关键字声明,只包含方法名,没有方法体()

通过sayHello方法(,抽象方法没有具体实现的是继承的子类)、非抽象类)实现

a .如果某个类包含抽象方法,则该类必须是抽象类;

b、子类必须重写父类的抽象方法,或者将自身声明为抽象类,最终非抽象子类必须实现抽象方法

接口

1、定义:抽象方法集合用interface关键字声明,不能实例化,可以实现(用implements关键字实现接口);

publicinterfaceperson { public void say hello (; //用隐式抽象方法,不需要写abstract关键字

} publicclassstudentimplementsperson {

@Overridepublic voidsayHello () )。

{

system.out.println (student say hello ); //实现接口上的方法

}

}

2、特性

a、接口中的方法是隐式抽象方法(public abstract );

b、接口中的变量被隐式指定为公共静态文件变量;

c、接口中的方法不能在接口中实现,只能在实现接口的类中实现;

d、接口允许多继承,extends关键字只使用一次,然后继承接口;

publicinterfaceperson { public void say hello (; //用隐式抽象方法,不需要写abstract关键字

} publicinterfacechildren { public void sayhi (; //用隐式抽象方法,不需要写abstract关键字

} publicinterfacestudentextendschildren,Person Person {//类的多项继承是不合法的,但接口允许多项继承

}

抽象类和接口的区别

1、抽象类的方法可以有方法主体,没有接口

2、抽象类的成员变量可以有多种类型,在界面中只能是公共静态文件类型

3、抽象类可以包含静态代码块和静态方法,没有接口;

4、一个类只能继承一个抽象类,但一个类可以实现多个接口

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。