复习继承,抽象类,接口,想到哪写到哪

 

1继承,extend。为什么要继承,因为提高了代码的复用性,

特点,java中的继承不支持多继承,支持单继承,因为多继承是有弊端的,如果一个子类多继承了好几个父类,那么如果父类中都是同名函数,子类调用的时候就不知道调用的是哪一个了。

 

继承之后,子夫类之间成员互访,

变成互访,子类访问本类变量的时候用this。访问父类的变量的时候用super

函数互访,其实就是覆盖,这里要说一下覆盖和重载的区别,

重载:只能出现在构造函数中,函数名一直,但是参数的类型和数量不一样

覆写,只能出现在继承中,子类的函数名和父类的完全一致,包括参数,

而且注意覆盖的时候,子类函数必须保证权限大于等于父类

静态只能覆盖静态

 

继承中的构造函数,

子类对象在初始化的时候会先调用父类中的构造函数,因为子类构造函数的上一行都有个隐藏的super()

子类函数的实例化过程

1构造函数实例化是,必须先调用父类的空参数的构造函数,没有的话就手动super()

2final

被final修饰的有类,变量,函数,

1被它修饰的类不能被继承,因为继承打破了封装性,为了保持封装性

2,被他修饰的变量时常量,只能赋值一次。

3被他修饰的函数不能被覆盖,因为一个类中有些方法时不需要子类覆盖的,

4,内部本类定义在局部位置上时,只能访问该局部被final修饰的局部变量

 

3抽象

Abstract 抽象,当多个类出现了共同的功能,但是功能的主体不同, 这时候就用抽象,

特点啊1抽象方法存在于抽象类中

2被abstract修饰着,

子类要想如果继承抽象类的,话,必须把它内部的抽象方法都覆盖了,要不然这个子类也是抽象的。

3,当然抽象类是不能创建对象的,

4,抽象类的方法中都没有方法体的。

423种设计模式中之二的模板设计模式

定义功能的时候,功能的一部分是确定的,但是有一部分是不确定的,而且,确定的那部分要用到不确定的那部分,这时候就将不确定的那部分曝露出去,让他的子类去完成。

5 接口

接口,interface,其实就是一个抽象类,里边所有的函数都是抽象的。

接口里边常见的定义是常量和函数

接口里边都是public,public static final   int x =8;

       定义方法 public abstract getNUm();

用接口来实现多继承,一个类不但在同时继承一个父类的同时还可以多实现好几个接口。

因为他是抽象类,所以呢,具有抽象类的特点,子类必须把接口中的抽象方法都覆写完才行,要不然子类也是抽象类。不能创建对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值