1.继承

1.1继承的概述

在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。

1.2继承的格式

 class 子类  extends 父类{

	  }

1.3继承的特点

    1、在Java中,类只支持单继承,不允许多继承,也就是说一个类只能有一个直接父类,例如下面这种情况是不合法的。
class A{}
class B{}
class C extends A,B{} // C类不可以同时继承A类和B类
2、多个类可以继承一个父类,例如下面这种情况是允许的。
class A{}
class B extends A{}
class C extends A{} // 类B和类C都可以继承类A
3.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。下面这种情况是允许的。
class A{}
class B extends A{} // 类B继承类A,类B是类A的子类
class C extends B{} // 类C继承类B,类C是类B的子类,同时也是类A的子类 4、在Java中,子类和父类是一种相对概念,也就是说一个类是某个类父类的同时,也可以是另一个类的子类。例如上面的这种情况中,B类是A类的子类,同时又是C类的父类
//为什么要创建无参构造方法

1.4继承中成员变量的特点

  A:子类只能获取父类非私有成员
子父类中成员变量的名字不一样直接获取父类的成员变量
子父类中成员变量名字是一样的获取的是子类的成员变量 B:就近原则:谁离我近我 就用谁
如果有局部变量就使用局部变量
如果没有局部变量,有子类的成员变量就使用子类的成员变量
如果没有局部变量和子类的成员变量,有父类的成员变量就使用父类的成员变量
C: super:可以获取父类的成员变量和成员方法,用法和this是相似的

1.5方法重写的应用场景&注意事项

方法重写的应用场景:当父类的方法不能完全满足子类使用的时候,既可以保留父类的功能(沿袭、传承),还可以有自己特有的功能
方法重写的注意事项:
不可以重写父类私有的成员方法,压根就看不到父类的私有成员
子类重写父类方法,权限必须大于等于父类方法的权限
注解
@Override:方法重写,

1.6继承优缺点

A:优点
提高了代码的复用性
提高了代码的可维护性
B:缺点:
类的耦合性增强了
开发的原则:高内聚低耦合
内聚:就是自己完成某件事情的能力
耦合:类与类的关系

2.this与super区别

this:当前对象的引用
调用子类的成员变量
调用子类的成员方法
在子类的构造方法第一行调用子类其他构造方法
super:子类对象的父类引用
调用父类的成员变量
调用父类的成员方法
在子类的构造方法第一行调用父类的构造方法
2.1属性的区别:
this访问本类中的属性,如果本类没有此属性则从父类中继续查找。
super访问父类中的属性
2.2方法的区别
this访问本类中的方法,如果本类没有此方法就继续查找父类。
super访问父类中的方法。
2.3构造的区别
this调用本类构造,必须放在构造方法的首行。
super调用父类的构造,必须放在子类构造方法的首行。
2.4其他区别
this表示当前对象。 spuer不能表示当前对象
this.变量 调用当前对象的变量 spuer.变量直接调用的是父类中的变量
this(参数) 调用(转发)的是当前类中的构造器 super(参数)用于确认要使用父类中哪一个构造器

3.构造方法

3.1什么是构造方法?

  创建对象时所调用的方法   无参构造方法 : public 类名(){ }    带参构造方法: public 类名(参数列表){  }

3.2构造方法的格式特点?

	   特点一:方法名与类名相同
特点二:没有返回值 没有void
特点三:没有具体的返回值 (不能return带回结果数据)

3.3构造方法执行时机

   创建对象时会自动调用。每创建一次对象,就会执行一次构造方法(注意不能手动调用构造方法);

为什么要使用无参构造?

1.无参构造运行是需要往上一级一级找无参,甚至找到object
2.如果其中一级只有有参,没有无参,会发生错误。但只有无参,没有有参一定不会出错。
3.在以后的Java开发中,若一个POJO类要有带参构造方法,要记得先写无参构造方法。防止类追溯时找不到上级,报错。
4.本质上构造方法的作用是:创建对象

总结:

1.记住:this代表本类对象的引用;谁调用方法,谁就是方法中的this

2.本质上构造方法的作用是:创建对象

3.还是需要多复习才能记住

2022-7-21 第七组 pan小堂 继承与super与this的更多相关文章

  1. 2022-7-25 第七组 pan小堂 多态

    多态 多态是继封装.继承之后,面向对象的第三大特性. 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的同学张三既是学生也是人,即出现两种形态. Java作为面向对象的语言,同样可以描 ...

  2. 2022-7-20 第七组 pan小堂 String

    字符串 String 字符串部分方法 字符串对象的特点: 1.Java程序中所有双引号引起来的内容,都是String类的对象 2.字符串内容不可变,它们的值在创建后不能被更改(在底层被final修饰, ...

  3. 2022-7-13 第五组 pan小堂 java基础

    ###java基础 1.java语言发展史和概述平台(了解) 詹姆斯·高斯林(James Gosling)1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机 ...

  4. 2022-7-23 pan小堂 Object与Final

    Object类 1.Object方法 public final native Class<?> getClass() 返回object运行时类 public native int hash ...

  5. 2022-7-19 第五组 pan小堂 封装和 this

    this关键字 this关键字由来和使用: A:this:代表所在类的对象引用方法被哪个对象调用,this就代表那个对象 B:什么时候使用this呢 ? 局部变量和成员变量重名 set 和 get 方 ...

  6. 2022-7-16 第五组 pan小堂 基础语法

    思维导图 一维数组 数组是存储多个变量(元素)的东西(容器) 这多个变量的数据类型要一致 数组既可以存储基本数据类型,也可以存储引用数据类型. 1.数组定义的格式: 格式1:数据类型[] 数组名; 格 ...

  7. 2022-7-15 pan小堂 数组排序算法

    二分查找(理解) public ych class{ public static void main(String[] args){ ///运用二分查找需要 数组在的值是递升的 int[] arr1 ...

  8. 2022-7-11第五组 pan小堂 js基础

    ##为何学习 JavaScript? ###JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 在 ...

  9. 2022-7-12 第五组 pan小堂 js

    JavaScript Switch 语句 (熟悉掌握) 请使用 switch 语句来选择多个需被执行的代码块之一. 语法: switch(表达式){ case n: 代码块 break; case n ...

随机推荐

  1. acunetix_14.7安装破解

    acunetix_14.7.220401065版 本次更新增加了许多的漏洞检测,包括Spring4Shell漏洞(CVE-2022-22965) 下载地址: https://pan.baidu.com ...

  2. Spring配置及依赖注入

    入门 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-we ...

  3. linux中MySQL主从配置(Django实现主从读写分离)

    一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...

  4. Redisson批量操作类RBuckets和管道利器RBatch

    <Spring Boot 整合Redisson配置篇> <Spring Boot 整合Redisson操作Redis基础篇> <Redisson批量操作类RBuckets ...

  5. 121_Power Query之R.Execute的read.xlsx&ODBC

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.问题 pq在用 Excel.Workbook 读取一些Excel早期版本(.xls后缀)的文件时候,报错:DataFo ...

  6. 第06组Alpha冲刺 (4/6)

    目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2.曹兰英 3. 方梓涵 4.鲍凌函 5.董翔云 6.杜筱 7.黄少丹 8.曾丽莉 9. 詹鑫冰 10.吴沅静 1.3 冲刺成果展示 1.1 ...

  7. 高通(QCOM)sensor bring up

    高通7150平台 1.添加驱动文件 2.添加编译 3.配置json文件 4.高通默认配置 5.部分sensor外挂电源 6.遇到的问题 1.添加驱动文件 路径:adsp_proc/ssc/sensor ...

  8. EnvironmentLocationNotFound: Not a conda environment: C:\Program Files\Anaconda3

    可参考:https://blog.csdn.net/dscn15848078969/article/details/114743744

  9. sort是不稳定排序

    今天才知道sort是不稳定的,WA了一个点. sort()排序不是稳定排序,sort是主要用到了快速排序(平均时间复杂度为O(nlogn)),还结合了插入排序(时间复杂度为O(n2))和堆排序(时间复 ...

  10. Java-调用R语言和调用Python(前后端展示)

    1. 背景 R语言和Python用于数据分析和数据处理,并生成相应的直方图和散点图 需要实现一个展示平台,后端使用Java,分别调用R语言和调用Python,并返回数据和图给前端显示 这个平台主要实现 ...