类和继承

实现继承:extends关键字
为类提供构造器
构造器用于初始化类的新对象:构造器不是方法,没有返回类型;构造器的声明中可以使用以下访问说明符:
–      private
–      protected
–      public
–      无说明符
将信息传递给方法或构造器
参数类型;
参数名称;
按值传递:参数是原始类型,方法不能改变其值;参数是引用类型,方法不能改变其引用,但可以改变引用对象的值。
从方法返回值
在方法声明中声明方法的返回类型;eturn语句返回值的数据类型必须匹配方法声明的返回类型;方法可以返回原始类型,也可以返回引用类型。
使用this关键字
在实例方法或构造器中,this引用当前对象,也就是被调用的方法或构造器所属的对象;在构造器中,还可以使用this关键字调用相同类中的另一个构造器。
控制对类成员的访问
访问说明符决定其他类是否可以使用某个成员或调用某个方法。Java编程语言支持四种用于成员变量和方法的访问级别:private、protected、public和(如果没有指定)package。
访问级别
Private:类
无说明符:类、包
Protected:类、包、子类
Public:类、包、子类、所有类
实例和类成员的初始化
可以在声明的同时进行初始化,但是有一些限制:
–      必须以一个赋值语句表达初始化方式
–      初始化表达式不能调用任何被声明为抛出非运行时异常的方法
–      如果初始化表达式调用一个抛出运行时异常的方法,那么它不能进行错误恢复
使用静态初始化块初始化类成员;
实例成员的初始化。
覆盖和隐藏方法
覆盖(override)(实例方法):
–      子类中的 个实例方法与超类中的实例方法具有相同的标记和返回类型
–      方法的标记:名称,参数数量、参数类型
–      覆盖方法可以具有不同的throws子句
–      覆盖方法的访问说明符允许访问限制只能比被覆盖方法的多
–      子类不能覆盖超类中声明为final的方法
–      子类必须覆盖超类中声明为abstract的方法,否则子类本身必须是抽象的
覆盖和重载(overload);
覆盖和隐藏(类方法)。
隐藏成员变量
在类中,如果一个成员变量与超类中的成员变量同名(即使它们的类型不同),那么它隐藏超类成员变量;
在子类中,不能通过简单名称引用超类中的成员变量,而是必须通过super访问它;
代码可读性差,不建议隐藏成员变量。
使用super
使用super调用被覆盖的方法;使用super调用被隐藏的成员变量;使用super在构造器中调用超类的构造器。
使用Object的后代
每个类都是Object类的直接后代或间接后代;
Object类定义了所有类都必须有的基本状态和行为:
–      clone
–      equals和hashCode
–      finalize
–      toString
–      getClass
–          notify、notifyAll和wait
编写final类和方法
将类声明为final,即类不能被子类化:
–      通过防止系统被改版来提高系统的安全性
–      出于设计上的原因,某些类不需要子类
final方法:
–          在方法声明中使用final关键字表示这个方法不能被子类覆盖
编写抽象类和方法
抽象类:
–      表示一个抽象的概念,不应该被实例化
–      abstract关键字
抽象方法:
–      没有实现的方法,允许子类提供这些方法的实现细节
–          如果抽象类只包含抽象方法,那么它应该被定义成接口
创建类的小结    
类的定义有两个部分:
–     类声明
–     类体:成员变量、方法、构造器
访问说明符——控制对成员变量和方法的访问方式;
类变量、类方法,static方法关键字
实例成员、实例方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值