ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-7-21 第七组 pan小堂 继承与super与this

2022-07-21 19:32:49  阅读:124  来源: 互联网

标签:调用 21 构造方法 继承 子类 小堂 2022 父类 变量


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(参数)用于确认要使用父类中哪一个构造器

image

3.构造方法

3.1什么是构造方法?

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

3.2构造方法的格式特点?

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

3.3构造方法执行时机

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

为什么要使用无参构造?

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

总结:

1.记住:this代表本类对象的引用;谁调用方法,谁就是方法中的this
2.本质上构造方法的作用是:创建对象
3.还是需要多复习才能记住

标签:调用,21,构造方法,继承,子类,小堂,2022,父类,变量
来源: https://www.cnblogs.com/ychptz/p/16502116.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有