`
ChiLHuo
  • 浏览: 11019 次
社区版块
存档分类
最新评论

Java抽象类及抽象方法

    博客分类:
  • java
阅读更多

抽象类:

将关键字abstract置于关键字class的前面可以将类声明为抽象类。抽象类不能实例化。抽象类一般用于提供多个派生类可共享的基类的公共定义。例如:类库可以定义一个包含基本功能的抽象类,并要求程序员在使用该类库时,通过创建派生类来提供自己的类实现。

抽象类与非抽象类相比,具有下列特征:

(1)抽象类不能直接实例化,对抽象类使用new运算符会导致编译错误。可以定义抽象类型的变量,但其值必须为null,或者是其派生的非抽象类的实例的引用。

(2)允许(但不要求)抽象类包含抽象成员。

(3)抽象类不能被密封。

(4)当从抽象类派生非抽象时,这些非抽象类必须实现所继承的所有抽象成员,从而重写那些成员。

 

抽象方法:

在抽象类中通过将关键字abstract添加到实例方法的返回类型的前面定义抽象方法(abstract method)。抽象方法声明引入一个新的虚方法,但不提供该方法的任何实际实现,所以抽象方法的方法体只由一个分号组成,而不是常规的方法块。

从抽象类中派生类时,如果派生类为非抽象类,则派生类必须重写抽象方法,以提供它们自己的实现。也就是说,如果一个派生类从基类继承了抽象方法,则要么重写以实现所有的抽象方法,要么使用关键字abstract声明派生类为抽象类

抽象类与抽象方法示例:

package abstractclass;
abstract class Animal{
	public String name;
	public abstract void sayHello();
	public Animal(String name){
		this.name = name;
	}
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return this.name;
	}
}

class Dog extends Animal{
	public void sayHello(){
		System.out.println(this.name + ":wow");   //此处用super.name														  //也行
	}
	public Dog(String name){
		super(name);
	}
}

public class AbstractDemo {
	public static void main(String[] args){
		Animal animal = new Dog("jack");
		animal.sayHello();
	}
}

 

分享到:
评论

相关推荐

    java抽象类与接口实例java抽象类与接口实例

    java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...

    Java抽象类和抽象方法

    Java抽象类和抽象方法

    JAVA抽象类和抽象方法(abstract)实例分析

    主要介绍了JAVA抽象类和抽象方法(abstract),结合实例形式分析了java抽象类及抽象方法相关定义、使用技巧与操作注意事项,需要的朋友可以参考下

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

    Java实例化一个抽象类对象的方法教程

    大家都知道抽象类无法实例化,就无法创建对象...所以下面这篇文章主要给大家介绍了关于Java实例化一个抽象类对象的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    Java 抽象类

    Java 抽象类的学习

    基于Java抽象类和接口实现疯狂动物城

    学生通过对该项目整体框架的搭建和对动物城信息管理等模块的设计与功能实现,训练了学生对项目框架的搭建、类的封装、抽象类定义与继承、接口的定义与接口的实现等Java OOP面向对象知识点的掌握。 本项目主要包括...

    Java抽象类和接口.ppt

    此书对于你学习Java抽象类和接口有非常大的帮助

    java 抽象类与接口的练习

    java 抽象类与接口的练习,包括代码及注释,个人笔记

    java 抽象类及接口

    详细介绍了java 抽象类及接口,细致全面,在ppt里内容算充分的了

    详细解析Java中抽象类和接口的区别

    抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...

    java抽象类与接口区别

    深入浅出的说明java抽象类与接口区别,让初学者更好的理解java抽象类与接口的概念

    Java中抽象类的学习总结

    Java中抽象类的学习总结Java中抽象类的学习总结Java中抽象类的学习总结

    java 抽象类练习题

    java 抽象类 接口 异常 练习题 1.在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口(D)。 A.private B.protected C.private protected D.public 2.下列程序运行的结果是(B)。 interface ...

    宠物系统(java抽象类)

    简单的java系统。宠物系统,应用抽象类,详细代码可以参考

    Java抽象类.pdf

    Java抽象类概念 Java中抽象类是指用abstract关键字修饰的类,它不能被实例化,只能被继承。抽象类通常用于定义一些公共的方法和属性,但是这些方法没有具体的实现。子类必须重写抽象类中的所有抽象方法才能被实例化...

    2.java使用抽象类.zip

    2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip2.java使用抽象类.zip...

    5.java使用抽象类.zip

    5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip5.java使用抽象类.zip...

    4.java使用抽象类.zip

    4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip4.java使用抽象类.zip...

Global site tag (gtag.js) - Google Analytics