关键区别–这与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程序。
在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程序。
根据上面的程序,类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(),默认情况下也会调用父构造函数。
使用该方法的超级用户如下。
根据上述程序,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的区别