第八章复习知识总结

一:继承:

类的继承:被继承的类叫做父类或者超类;

继承的叫做子类!

一个父类可以拥有多个子类,但一个类只能有一个直接父类。

继承的实现是利用extends关键字来实现的。子类可以从父类那里继承所有非私有成员来作为自己的成员。格式:class 子类名 extends 父类名{

}

在java语言的继承中,执行子类的构造方法之前,会先调用父类中没有参数的构造方法,其目的是为了要帮助继承自父类的成员做初始化操作!

如果父类中有许多个构造方法时,若要调用父类中某个特定的构造方法,需在子类的构造方法中通过super()语句调用父类特定的构造方法。

super()语句必须写在子类构造方法的第一行;super()可以重载,也就是说,super()会根据参数的个数与类型,执行父类相应的构造方法;如果父类中只定义了有参数的构造方法,而在子类的构造方法中有没有用super()来调用父类中特定的构造方法,则编译时将发生错误!解决的方法是在父类中加上一个“不做事”且没有参数的构造方法即可。

super()与this()的区别:

1,super()是从子类的构造方法调用父类的构造方法;而this()是在同一个类内调用其他的构造方法。

2,这两者都必须写在构造方法内的第一行,也就是这一个原因,他俩无法共存!

3,与this一样,super指的也是对象,所以super同样不能再static环境中使用,包括静态方法和静态初始器!

二:覆盖

覆盖是在子类中定义名称,参数个数与类型均与父类中完全相同的方法,用以重写父类中同名方法地功能。声明时,应与父类被覆盖的方法有完全相同的方法名,返回值类型和参数列表。如果子类的方法头和父类的方法头相同,则父类的该方法不能被继承!

子类中不能覆盖父类中声明为final或static的方法。

父类的方法被覆盖后,之后调用时则不调用父类的方法啦,而是调用子类的方法!

以父类的对象调用子类成员(只能发生在覆盖中)

格式:父类名  对象名=new  子类名(........);

对象名.被覆盖的方法名();

如果一个方法仅存在于子类中,那么当以父类对象调用这个方法时,会发生错误!

所有已被private修饰符限定为私有的方法以及所有包含在final类中的方法,都会被默认为final

toString()方法:

是将调用该方法的对象的内容转换成字符串,并返回其内容,但返回的是一些没有意义且看不懂的字符串。因此,如果要用toString()方法返回对象的内容,可以重新定义该方法以覆盖父类中的同名方法以满足需要!

三,抽象类:

java中可以创建专门的类作为父类,这种类被称为抽象类!抽象类的作用有点像模板的作用,目的是根据它的格式来创建和修改新的类。但是并不能直接由抽象类创建对象,只能通过抽象类派生出新的子类,然后再由子类来创建其对象!也就是说,抽象类不能用new关键字来创建实例对象的类!

抽象类以abstract来修饰

抽象类中的方法分为两种:一种是带有方法体的普通方法,一种是没有方法体的“抽象方法”,它是以abstract关键字开头的方法,此方法只声明返回值的数据类型,方法名称与所需的参数,但没有方法体。抽象方法用“;”结尾。抽象方法必须被子类的方法覆盖,否则子类仍然是抽象的。抽象方法声明修饰符static与abstract不能同时使用!

抽象类的子类必须实现父类中的所有抽象方法,或者将自己也声明成抽象的。

抽象类是被继承的,所有不能用final修饰,即abstract与final不能同时使用

抽象类中不一定包含抽象方法,但包含抽象方法的一定是个抽象类!

四,接口:

1,接口的数据成员都是静态的且必须初始化,即数据成员必须是静态变量。

2,接口中除了声名抽象方法外,还可以定义静态方法和默认方法

3,接口的实现:

接口创建类的过程称为接口的实现:

格式:class 类名称 implements 接口名表{

}

五,枚举:

当一个变量有几种固定取值时,将其声明为枚举类型

枚举是一种特殊的类,也叫枚举类,利用enum实现!

格式:[修饰符]enum  枚举类型名{

枚举成员

方法

}

修饰符可以是public,private,internal

枚举类型名有两层含义:1,作为枚举名使用  2,表示枚举成员的数据类型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    静晓安来阅读 1,533评论 0 0
  • 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些...
    横冲直撞666阅读 359评论 0 0
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,686评论 0 11
  • 小驼峰法:变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如:int myStud...
    李芳_三月阅读 890评论 0 1
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,742评论 0 5