JAVA(this关键字和super关键字)

this关键字

1.java中的this

(1)当使用c1去访问该对象时,整个过程中出现的this就是c1
(2)
在这里插入图片描述

在这里插入图片描述

2.带不带static关键字

(1)带static:使用类名. 访问。
(2)不带static是实例变量,实例方法:使用引用.

在这里插入图片描述
在这里插入图片描述
(3)static的方法调用不需要对象,直接使用类名,所以执行过程中没有当前对象,所以不能使用this。
在这里插入图片描述

3.this多数情况可省略

在这里插入图片描述

4.static在主函数

int num=10在同类主函数外,要想用先new对象。
在这里插入图片描述

5.static和this

带static的方法不能“直接”调用实例变量和方法,要先new对象出来。

6.this什么时候不能省略

java语言中存在‘就近原则

(1)加this区分局部变量和实例变量时不能省略this。

在这里插入图片描述

7.通过一个构造方法调另一个构造方法

使用this()只能出现在构造方法第一行
在这里插入图片描述

8.this可以用在哪里

(1)this.和this()的区别

在这里插入图片描述

9.例子

(1)省略和不省略


public class Test {
	
	//没有static的变量
	int i =10;
	
	//带有static的方法
	public static void doSome() {
		System.out.println("do some!");
	}
	
	//没有static的方法
	public void doOther() {
		System.out.println("do other!");
		
	}
	
	//带有static的方法
	public static void method1() {
		//调用doSome
//		完整方式的调用
		Test.doSome();
//		省略方式的调用
		doSome();
		
//		调用doOther
//		完整方式的调用
		Test tt = new Test();
		tt.doOther();
//		省略方式的调用	
		
//		访问i
//		完整方式的调用
		System.out.println(tt.i);
//		省略方式的调用
	}
	
	    //没有static的方法
	public  void method2() {//不带static里面有this
		//调用doSome
//		完整方式的调用
		Test.doSome();
//		省略方式的调用
		doSome();//????为什么
		
//		调用doOther
//		完整方式的调用
		this.doOther();
//		省略方式的调用
		doOther();
//		访问i
//		完整方式的调用
		System.out.println(this.i);
//		省略方式的调用
		System.out.println(i);
	}
     //主方法
	public static void main(String[] args) {
//		要求调用method1
//		完整方式的调用
		Test.method1();
//		省略方式的调用
		method1();
//		要求调用method2
//		完整方式的调用
		Test dd = new Test();
		dd.method2();
//		省略方式的调用

	}
	
	

}

在这里插入图片描述

super关键字

一、基本语法

1.与this关键字的区别

在构造方法的第一行,没有this东西,默认有super()。
注意:一个类的无参构造方法,要手动先写出来。 因为如果无参构造方法的丢失会影响子类的创建
在这里插入图片描述
在这里插入图片描述
对于第4点。为啥是既没有super()也没有this()?
this()和super()不能共存,他们都只能出现在构造函数第一行。

2.习题

new c();
在这里插入图片描述
顺序:1 3 6 5 4

3.在适当的时候使用super(实际参数列表)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.super是什么

在这里插入图片描述

例子

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值