面向对象03

1继承

1.1是什么

Java中只支持单继承,一个类只能有一个父类
继承作用 : 提高代码的复用性,父类的功能,子类可以直接使用,使子类功能更加强大.
在java中 使用extends 关键字表示

  •  	语法 : public class  类名  extends 父类名{ 类体  }
    

目的 : 提高代码重用性
一个类如果没有显示继承另外一个类的话,那么该类默认继承 Object

  •  	java.lang.Object java中的祖类,是所有类的父类
    
  •  	也就意味着 Object中的属性  是所有类都有的
    

1.2能干什么

1.代码重用,子类可以直接使用父类的属性和方法
2.如果父类功能不能满足子类需求,还可以对父类方法
进行重写
3.使用多态

1.3怎么做

使用extends关键字 后边跟父类

Super

是什么

super : 官方给出的说法是 super保存了父类型特征,他可以在子类中访问父类的属性

可以干什么

语法 : super(参数);
1 用于成员/构造方法中区分子类和父类同名的成员属性
2 用于子类构造方法中,调用父类构造方法(必须出现在子类构造方法的第一行)
去调用父类的无参构造
注意: .1.如果 子类构造方法中 没有this(xxx) 也没有 super(xxx) 那么 默认会有一个 super();
2.this() 和 super() 都必须出现在构造方法第一行,所以它俩不能同时出现
.3.this和super 都不能在静态方法中使用
子类构造方法使用super(); 去调用父类的构造方法
1 创建对象
2 初始化父类属性
如果构造方法中没有显示this()和super() 则第一行 默认是 super() 调用父类无参
Super与this:
super() : 用来调用父类构造,初始化父类属性,并且创建对象(最终肯定会调用到Object,通过Object创建对象)

  •  	既然是创建对象的,那么只能在构造方法第一行,因为构造方法还有初始化成员属性的功能
    
  •  	成员属性想要初始化,必须有存储它的空间,而这个空间就在对象中, 所以要保证现有对象,再有数据初始化
    
  • 所以先调用构造,进行初始化父类属性之后 创建对象,有了对象再执行实例化语句
  •  	所以 super()必须在第一行
    
  •  this() : 重载调用当前类的其他构造方法
    
  •  	保证先有对象
    

在这里插入图片描述

怎么用

在这里插入图片描述
在这里插入图片描述

实例语句块和构造方法

  • 实例语句块 : 可以等同看做成员方法,肯定需要使用对象调用的
  • 但是由于没有名字,不能手动调用,只能自动调用
  • 所以 只要创建完对象 就立刻执行
  • 所以 实例语句块是在创建对象后执行,并且执行构造方法体之前

重写

子类继承父类之后,不需要和父类完全一

	1 子类也有自己的特有属性
		2 可以覆写父类的成员方法

覆写特指成员方法

应用场景

  • 1 什么时候需要进行覆写

  • 如果父类的方法已经无法满足子类的需求的时候,需要将父类中的方法进行重写
    
  • 2 重写的条件

  •  	1 必须是有继承关系的体系中
    
  •  	2 方法名必须相同,返回值必须相同,参数列表必须相同
    
  •  	3 不能比原方法有更宽泛的异常
    
  •  	4 不能比原方法有更低的访问权限
    
  •  	5 覆写特指成员方法
    
  • 3 继承最基本的作业 : 代码重用

  • 4 继承最重要的功能 : 方法可以覆写,多态

  • 重写的目的 :

  •  	1 满足当前需求 , 方法体编码
    
  •  	2 错误越来越少,不能有更宽泛的异常
    
  •  	3 使用范围越来越广,不能有更低的访问权限
    
  •  	4 功能越来越强
    

final

是什么

final : 是修饰符,表示最后的,最终的,不可更改的

能干什么

  • 1 修饰的类 不能被继承
  • 2 修饰的变量 就是常量,不能二次赋值(整个程序生命周期中不可更改),没有默认值
    常量一般是public static final 的
  • 3 修饰的成员方法不能被重写
  • 深入理解:
    final修饰的变量,内存空间中的值不可更改
  •  如果修饰的是引用类型变量,也是一样的道理,但是和引用类型的地址指向的堆内存空间,没有关系
    

*/

怎么用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值