「Java」详细了解抽象方法,抽象类

「Java」详细了解抽象方法,抽象类什么是抽象类如果自下而上在类的继承层次结构中上移 位于上层的类更具有通用性 甚至可能更加的抽象 从某种角度来看 祖先更加通用 但是人们只将它作为派生类和其他基类 而不作为想要使用的特定实例 我们考虑一下对 Teacher 类层次的扩展 例如 一

大家好,欢迎来到IT知识分享网。

  • 什么是抽象类
  • 如果自下而上在类的继承层次结构中上移,位于上层的类更具有通用性,甚至可能更加的抽象。从某种角度来看,祖先更加通用,但是人们只将它作为派生类和其他基类,而不作为想要使用的特定实例。我们考虑一下对Teacher类层次的扩展。例如:一名老师是一个学生,一名学生也是一个人。下面我们将Person 和Student添加到类的层次结构中。如上图所示为三者之间我的关系。
  • package deno06; public class demo6 { public static void main(String[] args) { } } abstract class Person{ private String name; public Person(String name){ this.name=name; } public void fly() { System.out.println(“这个人在天上飞”); } }
  • 如上图所示Person类为父类,当父类的某些方法,需要声明,但又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类。即为父类方法的不确定性。所谓的抽象方法也就是没有实现得方法,所谓的没有实现的方法也就是指没有方法体。一般情况下,抽象类会被继承,有子类来实现抽象方法。
  • 抽象类的关键字解析
  • abstract:修饰类:会使这个类成为一个抽象类,这个类不能生成对象实例,但是可以做为对象变量声明的类型,也就是编译时类型,抽象类就相当于类的半成品,需要子类来继承,由子类来实现抽象方法。
  • abstract:修饰方法,会使这个方法变成抽象方法,也就是只有声明定义而没有实现,实现部分以“;”代替。需要子类继承覆盖。
  • 抽象类的注意事项
  • 1.抽象类不能被实例化。
  • 2.抽象类不一定包含abstract方法。也就是说,抽象类可以没有abstract方法。
  • 3.一旦类包含abstract方法,则这个类必须声明为abstract
  • 4.abstract只能修饰类和方法,不能修饰属性和其他的。
  • 5.抽象类可以有任意成员【抽象类本质还是类】,比如:非抽象方法,构造器,静态属性等等。
  • 6.抽象方法不能有主体,既不能实现
  • 7.如果一个类继承了抽象类,则它必须实现抽象类的所有方法,除非他自己也声明为abstract类
  • 8.抽象方法不能使用private,final,和static修饰,因为这些关键词和重写是相违背的。

案例

package demo02; import org.omg.CORBA.PUBLIC_MEMBER; public class demo8 { public static void main(String[] args) { //抽象类不能被实例化 //new pp(); } } //抽象类不一定要包含 abstract 方法,也就是说,抽象类可以没有 abstract 方法 //还可以有实现的方法 abstract class pp{ public void hi(){ System.out.println("hi"); } } //一旦包含了 abstart 方法,那么这个类必须声明为 abstart abstract class B{ public abstract void hi(); } //abstart 只能修饰类和方法,不能修饰属性和其他的。 class O{ //public abstract int n1 = 1;属性不能被修饰 }

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/176152.html

(0)
上一篇 2025-04-13 08:10
下一篇 2025-04-13 08:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信