Java中的this关键字:this.成员变量、运算符、常见修饰符、移位运算符、eclipse中常用快捷键

本文详细介绍了Java中的this关键字及其用途,强调了this在解决成员变量与局部变量重名问题中的重要性,并通过示例展示了不使用this可能导致的成员变量未被赋值的情况。此外,还讲解了位运算符(与、或、异或)的使用,以及移位操作符在计算机中的应用。最后提到了修饰符的权限控制以及Eclipse中的一些快捷键,帮助提升编程效率。
摘要由CSDN通过智能技术生成

0、Java中的this关键字

0.0、在初始面向对象思想之后,我们接触了类与对象,就会不可避免地接触到this关键字

0.1、this关键字指向的是对当前对象的引用。

0.2 、this的作用

0.2.1、this.属性名称

这样写的意义是区分成员变量(类中的非静态变量)与方法中(构造方法,传值方法setValue())传进来的局部变量的重名问题、

我们知道类变量(静态变量)是不依赖于类的,最先加载进来的就是类变量,(静态变量)

之后加载类的时候,类里面的方法,构造方法中的形参。是优先顺序的。

也就是不加this.成员变量名的时候,

  如:      public void setTestint(int testint) {
      
 testint = testint;
    } //他是形参变量自己传给自己,最后成员变量还是没被赋值

 

执行如下代码:

package bilibili.bobro.operator.test;

public class ThisTest 
{

	public static void main(String[] args) 
	{
		Test t=new Test();
		System.out.println("t.getTestchar():"+t.getTestchar());
		System.out.println("t.getTestdou():"+t.getTestdou());
		System.out.println("t.getTestint():"+t.getTestint());
		System.out.println("t.getTeststr():"+t.getTeststr());

	}

}



class Test
{
	private int testint;
	private boolean testboo;
	private String teststr;
	private double testdou;
	private char testchar;
	
	public int getTestint() {
		return testint;
	}
	public void setTestint(int testint) {
		testint = testint;
	}
	public boolean isTestboo() {
		return testboo;
	}
	public void setTestboo(boolean testboo) {
		testboo = testboo;
	}
	public String getTeststr() {
		return teststr;
	}
	public void setTeststr(String teststr) {
		teststr = teststr;
	}
	public double getTestdou() {
		return testdou;
	}
	public void setTestdou(double testdou) {
		testdou = testdou;
	}
	public char getTestchar() {
		return testchar;
	}
	public void setTestchar(char testchar) {
		testchar = testchar;
	}
	
	
	
	
	
	
}

控制台输出结果如下:

 如果不加上this,那么

setVal(形参)

{

        形参(局部变量)=形参(局部变量)

}

把实参传给方法中的形参,然后形参自己给自己赋值,类中的成员变量压根没参与。

传进来的实参碰都没碰到,所以还是空的。

局部变量:方法定义中或者方法声明上。 

局部变量:在内存的栈中。

局部变量:随方法的调用而存在,随着方法的调用完毕而消失。 

如果不加上this,人家局部变量反手一个自己传自己,传完消失注销释放在内存的栈上的内存。

百花丛中过,片叶不沾身,你的成员变量SET方法什么值也没捞到。

 

就酱紫~~~~

所以this很重要!~~

 

1、运算符与、或、异或

&:按位与

|: 按位或

^:按位异或 (关键在于异,一样的都返回0,不一样的再进行或)

 

   0000 1111   11 00

^ 1111  0000  11 00

   1111  1111   00 00

   1010

& 0110

   0010

    1100

|   1010

     1110

2、修饰符 private、 public 、默认(default/friendly)、protected

private  只有当前class内可用。

默认:default:friend  同类,同包可用  父子孙辈不可用

public:公共类

protected :保护的 自己,朋友,子孙能用?

3、移位操作符" >>"  and  " << "

以11为例:   

11的二进制:                   0000 1011    11

11>>1                               0000 0101    5

11>>2                              0000 0010     2

11<<1                              0001 0110     22       

11<<2                              0010 1100     44            

右移相当于是除法,但我们不说是除法,因为 左移右移都是转为二进制然后 左右两边移动补0就行了

在计算机中,位运算的速度是大于 */(乘除)的

 

3、eclipse中的快捷键:

熟练掌握代码编译器有助于我们更快的提升自己:

eclipse中

快速生成ste和get方法。CTRL+SHIFT+S

快速复制上一行:ctrl+Alt+down/up

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻根根呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值