这(this)和超级java(super in java)的区别

关键字“this”和“super”在Java编程中使用。这些关键字不能用作变量或任何其他标识符名称。Java支持面向对象编程(OOP)。程序或软件可以使用对象建模。对象使用类是贪得无厌的。OOP的一个支柱是继承。它提供了代码的可重用性。已经存在的类是超类,派生类是子类。super关键字可用于引用超类的对象。系统中有多个对象。“this”关键字用于引用当前对象。this和super的关键区别是'th...

关键区别–这与java中的super相比

关键字“this”和“super”在Java编程中使用。这些关键字不能用作变量或任何其他标识符名称。Java支持面向对象编程(OOP)。程序或软件可以使用对象建模。对象使用类是贪得无厌的。OOP的一个支柱是继承。它提供了代码的可重用性。已经存在的类是超类,派生类是子类。super关键字可用于引用超类的对象。系统中有多个对象。“this”关键字用于引用当前对象。this和super的关键区别是'this'是一个引用变量,用于引用当前对象,而'super'是一个引用变量,用于引用直接超类对象。

目录

1. 概述和主要区别
2. 这在Java中是什么
3. Java中的超级是什么
4. Java中this和super的相似性
5. 并排比较——这与表格形式的Java中的super相比
6. 摘要

什么是这是java语言(this in java)?

关键字“this”用于引用当前对象。参考给定的Java程序。

这(this)和超级java(super in java)的区别

图01:使用此关键字的Java程序

在Java中,有三种类型的变量。它们是实例变量、局部变量和类变量。根据上面的程序,类Employee有两个实例变量。他们是身份证和姓名。局部变量是属于方法的变量。类变量由所有对象共享。id和名称将传递给Employee构造函数。如果程序员写id=id;它不会初始化实例变量,因为构造函数已经有id和名称。实例变量没有值。因此,打印它们将显示空值。当使用它时,它引用当前对象。因此,给构造函数指定id和name可以设置实例变量。

关键字“this”可用于调用当前类方法。参考给定的java程序。

公共课本演示{

公共静态void main(String[]args){

Myclass Myclass=新建Myclass();

我的class.B();

}

}

我的课{

公共空间A(){

System.out.println(“A”);

}

公共空间B(){

系统输出原理(“B”);

这个.A();

}

}

类Myclass包含两个方法。它们是方法A和方法B。当创建Myclass对象并调用方法B时,将输出B、A。在方法B中,打印B之后有一个语句this.a()。使用它,当前类方法被调用。

也可以使用此关键字来调用当前类构造函数。参考给定程序。

公共课本演示{

公共静态void main(String[]args){

A obj=新的A(5);

}

}

A级{

公共A(){

System.out.println(“建造商A”);

}

公共A(int x){

这个();

System.out.println(“参数化构造函数A”);

}

}

根据上面的程序,类A有一个默认构造函数和一个参数化构造函数。创建的对象时,将调用参数化构造函数。在参数化构造函数中,有一个类似this()的语句;它将调用当前类构造函数,即a()。

什么是超级java(super in java)?

关键字“super”与继承相关。继承是面向对象编程的一个主要概念。它允许将现有类的属性和方法用于新类。已经存在的类称为父类或父类。新类称为子类或子类。

“super”是用于引用直接父类对象的引用变量。super关键字可以引用直接父类实例变量或调用直接父类方法。super()用于调用直接父类构造函数。

假设有A和B两个类,A类是超类,B类是子类。类A、B都有显示方法。

公共A级{

公共无效显示(){

System.out.println(“A”);

}

}

公共B类延伸A{

公共无效显示(){

System.out.println(“B”);

}

}

当创建B类型的对象并调用方法display时,它将给出输出B。类A有display方法,但它被子类B display方法覆盖。如果程序员想调用类A中的display方法,那么他可以使用super关键字。参考给定的Java程序。

这(this)和超级java(super in java)的区别

图02:使用super关键字的Java程序

根据上面的程序,类A有一个名为number的变量,值为10。类B扩展了A,并有一个名为number、值为20的变量。通常,当创建类型为B的对象并调用display方法时,应该在子类中给出数字,因为超类值被新类覆盖。通过使用超级数字,将打印超类编号值。

super()可用于调用超类构造函数。参考以下程序。

公务舱总管{

公共静态void main(字符串[]args){

B obj=新B();

}

}

A级{

A(){

System.out.println(“A”);

}

}

B类延伸到A{

B(){

超级();

System.out.println(“B”);

}

}

根据上面的程序,类A有一个构造函数A()。类B具有构造函数B()。类B扩展了类A。当创建B类型的对象时,它将打印A,B作为输出。B()构造函数有super()。因此,首先调用A构造函数,然后调用B。即使没有编写super(),默认情况下也会调用父构造函数。

使用该方法的超级用户如下。

这(this)和超级java(super in java)的区别

图03:调用超类方法的Java程序

根据上述程序,A级具有显示方法。类B也有显示方法。类B扩展了A。当创建B类型的对象并调用显示方法时,将以A和B的形式给出输出。在B类显示方法中,使用超级显示器(). 这种方法首先打印“A”。然后打印“B”。

什么是这个和超级之间的相似性(the similarity between this and super)?

  • 两者都是Java编程中的关键字。

这(this)和超级的(super)的区别

这对超级
“this”是用于引用当前对象的引用变量。 “super”是一个引用变量,用于引用立即超类对象。
实例变量
一个当前的类实例变量可以用它来引用。 超类实例变量可以使用super引用。
类方法
当前类方法可以使用这个调用。 超类方法可以使用super调用。
建造师
可以使用this()调用当前类构造函数。 可以使用super()调用超类构造函数。

总结 - 这(this) vs. 超级java(super in java)

关键字“this”和“super”在Java中使用。关键字不能用作变量或任何其他标识符名称。它们看起来是一样的,但它们有区别。它与super的区别在于super是一个引用变量,用于引用立即超类对象,而super是引用当前对象的引用变量。

下载此vs super的pdf文档

你可以下载这篇文章的PDF版本,并按照引文说明离线使用。请在这里下载PDF版本:这与Java中的super的区别

引用

  • 发表于 2020-10-19 18:17
  • 阅读 ( 380 )
  • 分类:IT

你可能感兴趣的文章

扔(throw)和抛出java(throws in java)的区别

关键区别——java中的throw与throws 编程时可能会出错。程序中的错误会产生意外的结果,也可能会终止程序的执行。因此,正确地检测和管理错误,才能正确地执行程序。错误可以有两种类型。它们是编译时错误和运行时错误...

  • 发布于 2020-09-21 19:02
  • 阅读 ( 352 )

包裹(package)和java接口(interface in java)的区别

Java中的Package和Interface的主要区别在于,Package有助于对类进行有条理的分类以方便访问和维护,而Interface则有助于实现多个继承和实现抽象。 Java是最流行的编程语言之一。Java的主要优点是它支持面向对象编程。这种方法允...

  • 发布于 2020-10-18 11:01
  • 阅读 ( 569 )

选中的(checked)和java中的未检查异常(unchecked exception in java)的区别

关键区别——java中的检查异常与未检查异常 异常是运行时错误。有两种类型的异常称为检查异常和未检查异常。当发生选中的异常时,Java应用程序连接到外部资源,如文件、设备或数据库。这些异常由编译器检查。检查的...

  • 发布于 2020-10-19 08:38
  • 阅读 ( 278 )

变量(variables)和java中的数据字面值(data literals in java)的区别

关键区别——java中的变量与数据文本 计算机程序是执行一项任务的一组指令。编程时需要存储数据。因此,这些数据被存储在存储器中。这些保留的内存位置称为变量。变量应该有唯一的名称,因为它们应该易于识别以执行...

  • 发布于 2020-10-19 08:52
  • 阅读 ( 257 )

最终决赛(final finally)和用java完成(finalize in java)的区别

关键区别–java中的final vs finally vs finalize final、finally和finalize是Java编程中常用的术语。期末考试是一个关键词。它可以用于变量、方法或类。声明为final的变量只能初始化一次。他们不能改变。由于Java是一种支持面向对象编...

  • 发布于 2020-10-19 15:24
  • 阅读 ( 237 )

超载(overloading)和在java中重写(overriding in java)的区别

关键区别——java中重载与重写 面向对象编程(OOP)是软件开发中的一个主要范式。它是一种使用类和对象设计程序的方法。班级就是蓝图。它描述了对象中应该包含的内容。或者应该定义对象的属性。因此,对象是类的实例...

  • 发布于 2020-10-19 21:20
  • 阅读 ( 362 )

聚合(aggregation)和java中的合成(composition in java)的区别

聚合(aggregation)和java中的合成(composition in java)的区别 聚合是描述“has-a”关系的两个对象之间的关联。组合是一种更具体的聚合类型,它意味着所有权。Java中聚合和组合的关键区别在于,如果包含的对象可以在没有拥有对象...

  • 发布于 2020-10-24 01:38
  • 阅读 ( 719 )

继承(inheritance)和java接口(interface in java)的区别

...法。使用旧类派生新类的机制称为继承。旧类称为父类或超级类。派生类称为子类或子类。 Java继承的语法如下。 类子类扩展超类{ 变量声明; 方法声明; } 继承概念可以用下面的例子来解释。假设有一个名为a的类,如下所示...

  • 发布于 2020-10-25 00:02
  • 阅读 ( 491 )

如何正确处理java异常

...于这个问题的页面。它用一条简洁的经验法则总结了这一区别:“如果可以合理地期望客户机从异常中恢复,那么就将其设置为检查过的异常。如果客户端无法执行任何操作从异常中恢复,请将其设置为未检查的异常。“ ...

  • 发布于 2021-03-14 17:31
  • 阅读 ( 236 )

如果禁用基于浏览器的java,我会失去什么功能?

...删除它,你真的失去了很多,如果有的话,功能?今天的超级用户问答帖子回答了一位关注的读者的问题。 今天的问答环节是由SuperUser提供的,SuperUser是Stack Exchange的一个分支,是一个由社区驱动的问答网站分组。 问题 超级...

  • 发布于 2021-04-11 00:03
  • 阅读 ( 180 )
kubkk880
kubkk880

0 篇文章

相关推荐