当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-07-22
1.继承1.1继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产。在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。 1.2继承的格

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.还是需要多复习才能记住

上一篇:[学习笔记]Linux + Nginx环境下部署 Web 站点
下一篇:没有了
网友评论