package test;
public class ThisTest {
private int i=0;
//第一个构造器:有一个int型形参
ThisTest(int i){
this.i=i+1;//此时this表示引用成员变量i,而非函数参数i
System.out.println("Int constructor i——this.i: "+i+"——"+this.i);
System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));
//从两个输出结果充分证明了i和this.i是不一样的!
}
// 第二个构造器:有一个String型形参
ThisTest(String s){
System.out.println("String constructor: "+s);
}
// 第三个构造器:有一个int型形参和一个String型形参
ThisTest(int i,String s){
this(s);//this调用第二个构造器
//this(i);
/*此处不能用,因为其他任何方法都不能调用构造器,只有构造方法能调用他。
但是必须注意:就算是构造方法调用构造器,也必须为于其第一行,构造方法也只能调
用一个且仅一次构造器!*/
this.i=i++;//this以引用该类的成员变量
System.out.println("Int constructor: "+i+" "+"String constructor: "+s);
}
public ThisTest increment(){
this.i++;
return this;//返回的是当前的对象,该对象属于(ThisTest)
}
public static void main(String[] args){
ThisTest tt0=new ThisTest(10);
ThisTest tt1=new ThisTest("ok");
ThisTest tt2=new ThisTest(20,"ok again!");
System.out.println(tt0.increment().increment().increment().i);
//tt0.increment()返回一个在tt0基础上i++的ThisTest对象,
//接着又返回在上面返回的对象基础上i++的ThisTest对象!
}
}
运行结果:
Int constructor i——this.i: 10——11
String constructor: ok
String constructor: ok again!
Int constructor: 21
String constructor: ok again!
14
注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
//1.super运用在构造函数中
class test1 extend test{
public test1()...{
super();//调用父类的构造函数
}
public test1(int x){
super(x);//调用父类的构造函数,因为带形参所以super 也要带行参
}
}
//2.调用父类中的成员
class test1 extend test{
public test1(){}
public f(){//假如父类里有一个成员叫g();
super.g();//super引用当前对象的直接父类中的成员
}
}
分享到:
相关推荐
在Java编程语言中,`this`和`super`是两个非常重要的关键字,它们在面向对象编程中扮演着不可或缺的角色。正确理解和使用这两个关键字对于编写高质量、易于维护的Java代码至关重要。 #### 二、`this`关键字详解 ##...
Java 中的 this 和 super 的用法 Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象的成员变量和方法的。下面我们将详细地讨论这两个关键字的用法和区别。 一、基础知识 1. super(参数):...
知道this有集中用法吗?this和super的区别呢?每个理论对应这实例。。可以边看边操作。。加油吧。。
Java 中的 this 和 super 是两个非常重要的关键字,它们都是用来访问对象或父类的成员变量或方法的。下面我们将详细地讲解它们的用法和区别。 首先,让我们来看一下 this 关键字。this 关键字是用来访问当前对象的...
静态方法,也就是类方法中不能有this和super关键字 1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. 复制代码 class Base { Base() { System.out.println("Base"); } } public ...
在Java编程语言中,`this`和`super`是两个非常关键的特殊变量,它们提供了在类和对象间导航的能力。这两个关键字无需提前声明,它们各自有着特定的用途。 首先,`this`关键字用于引用当前对象。在成员函数内部,`...
在Java编程语言中,`super` 和 `this` 是两个非常重要的关键字,它们分别用于处理对象间的关联和访问。理解这两个关键字的区别对于编写高效的代码至关重要。 `this` 关键字代表当前对象,它指的是创建或正在执行...
java中this 与super的详解
在 Java 中,this 和 super 是两个重要的关键字,它们都是用于访问当前对象或父类中的成员变量或方法的。 this 用法 this 的用法在 Java 中大体可以分为三种: 1. 普通的直接引用 在类的成员方法中,可以使用 ...
Java 中 static、this、super、final 的用法 静态方法(static method)是一种特殊的方法,它可以在不需要创建对象的情况下被调用。Java 中的静态方法使用 static 关键字来修饰,例如 public static void main...
在Java编程语言中,`static`, `this`, `super`, 和 `final` 是四个非常重要的关键字,它们分别代表不同的概念并具有特殊的用法。 一、`static` `static` 关键字用于声明类级别的成员(变量或方法),这意味着它们...
Java中的`static`、`this`、`super`和`final`是四个非常重要的关键字,它们在编程中扮演着至关重要的角色。这篇文章将简要介绍这些关键字的基本用法及其应用场景。 1. **static** `static`关键字用于声明类级别的...
### Java中的this和super #### 一、引言 在Java编程中,`this` 和 `super` 是两个非常重要的关键字,它们可以帮助我们更清晰地处理类中的成员变量和方法,尤其是在面向对象编程中,正确理解和使用这两个关键字对于...
在Java编程语言中,`super`关键字用于引用当前对象的父类实例,它主要用于访问父类的成员变量和方法。本文将深入探讨`super`的几种用法,并对比`this`...`super`和`this`的区别在于前者指向父类,后者指向当前类实例。
在Java编程语言中,`this`和`super`是两个非常关键的关键词,它们在类的继承机制中扮演着至关重要的角色。`this`关键字主要用于当前对象的引用,而`super`关键字则用于访问父类的成员。让我们深入探讨这两个概念以及...
在 Java 编程语言中,`this` 和 `super` 是两个非常重要的关键字,它们都是特殊的引用变量,用于处理对象间的关系。下面我们将详细讲解这两个关键字的用途、使用场景以及如何在实际编程中有效地利用它们。 一、`...
在Java编程语言中,“this”和“super”是两个非常重要的关键字,它们在面向对象编程中扮演着核心角色。本文将深入探讨这两个关键字的概念及其应用场景,帮助读者更好地理解并运用它们。 #### 二、“this”关键字...