JavaSE基础知识(5)—面向对象(5.5 this和super关键字)

一、this关键字

1、说明

this关键字代表当前类的对象,可以访问本类的属性、方法、构造器
注意:谁调用该方法,则this就指谁

2、语法

访问属性:
  this.属性名 = 值;
  System.out.println(this.属性名);
访问方法:
  this.方法名();
访问构造器:
  this([参数列表]);

3、注意事项

一般来讲如果本类内部访问当前类的成员,则直接访问即可,默认也是通过this调用的。
当局部变量和成员变量重名时,则必须通过this才能调用到成员变量!

二、super关键字

1、说明

super代表了在子类中获取到的父类的引用,可以访问父类的属性、方法、构造器

2、语法

super.属性名 = 值;
super.方法名(参数列表);
super(参数列表);只能放在构造器的第一句

3、注意事项

①当子类成员和父类成员重名时,在子类中,默认访问的是本类的成员,如果需要访问父类的成员,则需要通过super访问
②当父类没有无参构造器时,子类必须通过super显式调用父类的有参构造器

4、特点

①super先去访问直接父类的成员,如果没有将一直往上追溯,直到Object类
②如果父类和上层的间接父类都有某同名成员,访问时遵循就近原则

三、this和super对比

  说明 访问属性或方法 访问构造器
this 当前类的对象
先去找本类中是否有该成员,如果有,直接访问,

如果没有继续向找父类,直到找到


this(参数列表);

只能放在构造器的第一句,用于访问本类的构造器

super 父类的引用
先去找直接父类是否有该成员,如果有,直接访问,

如果没有继续向上找其他父类,直到找到


super(参数列表);

只能放在构造器的第一句,用于访问父类的构造器

原文地址:https://www.cnblogs.com/truthseeking/p/9522971.html

时间: 2024-10-06 21:47:48

JavaSE基础知识(5)—面向对象(5.5 this和super关键字)的相关文章

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

JavaSe基础知识总结

Java基础知识总结 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言代码把思路体现出来. 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用.demo 4,该技术什么时候用?test. -------------------------------------------------------------------------

javascript的基础知识及面向对象和原型属性

自己总结一下javascript的基础知识,希望对大家有用,也希望大家来拍砖,毕竟是个人的理解啊 1.1 类型检查:typeof(验证数据类型是:string) var num = 123; console.log(typeof num); // 1.2 in 运算符 作用:判断指定属性是否存在于指定的对象中. 如果指定的属性存在于指定的对象中,则 in 运算符会返回 true. 语法: 属性 in 对象 返回值:true 或者 false 示例: var obj = { age: 18 };

Java基础知识之面向对象(1)

什么是面向对象: 比如我们想做一个盒子,先想一下盒子的样子,然后找具体的工具来做出我们想要的盒子,这个过程就是面向对象. 面向对象的特征 封装.继承.多态 封装:内部资源对外部不可见 继承:扩展现有类的功能 多态:方法可以重载,对象可以有多个形态 类与对象的理解 类:具有相同特征的一类事物(如:两个眼睛,一个鼻子,一个嘴的人,人就是一个类), Java中定义类的具体方法: class 类名称{ 成员变量: .... 成员方法: } 对象:一个类的具体体现,对于上面说的人,任何一个个体都是一个对象

Java基础知识:面向对象

1.类 Java类里,包含属性,方法,构造函数,初始化块,局域变量,内部类等成员,每种成员可以被各种修饰符修饰.其实被static修饰符修饰的成员,被称为静态成员(类成员),而没有被static修饰的成员,被称为实例成员. 1)静态成员(类成员) 静态成员属于整个类,而不属于单个对象.类成员被static关键字修饰的静态属性,静态块,静态方法,静态内部类等. 对static关键字而言,有一条非常重要的规则:类成员(静态属性,静态初始化块,静态方法,静态内部类)不能访问实例成员(实例属性,实例初始

面向对象编程(十)——继承之Super关键字及内存分析

阅读目录 Super关键字画内存分析图了解程序执行的整个过程 Super关键字 在JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象.怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用. super是直接父类对象的引用.可以通过super来访问父类中被子类覆盖的方法或属性. (注意和this的区别:this是当前对

JavaSE基础知识(5)—面向对象(5.1类和对象概念、创建及内存分配)

一.类和对象的相关概念 1.面向对象和面向过程的理解 面向对象和面向过程都属于解决问题的思考方式.面向过程:以执行者的角度思考问题,侧重于"怎么做",比较适合解决小型项目面向对象:以指挥者的角度思考问题,侧重于"谁来做",比较适合解决中大型项目面向对象和面向过程不能分割开来,二者相辅相成,缺一不可!宏观上通过面向对象思考,微观上通过面向过程思考! 2.类和对象的概念.关系.区别 (1)概念 对象:客观世界中所有可以被描述的事物都称为对象(万物皆对象).类:具有相同属

JavaSE基础知识(5)—面向对象(方法的重写与重载)

一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以更大了 二.重载 1.说明 java中提供了一种机制,允许同一个类中多个同名但参数列表不同的方法存在 2.要求 ①同一个类中②方法名必须相同③参数列表必须不同(参数类型.个数或顺序至少有一样不同)④返回类型无要求⑤修饰符无要求 三.重写与重载对比★   说明 发生范围 方法名 参数列表 返回类型 修

基础知识一: 面向对象的基本知识

C#基础共分为七个部分: 一: 面向对象 二: 值类型, 引用类型, 字符串操作 三: 集合文件操作 四: 正则表达式 五: XML操作 六: 委托, 事件 七: 反射 1, 面向对象: 面向对象的三大特性: 封装, 继承, 多态 2, 什么是类? 什么是对象? 类和对象的区别? 类: 类似模子, 确定对象将会拥有的特征(属性) 和行为 (方法) 对象是一个你能够看得到, 摸得着的具体实现-- 万物皆对象. --类是模具, 创建对象的模具, 抽象的   .类是一组数据类型, 用户自定义的数据类型