首页 > 网络技术 > 正文

java中关键字,C++中的this关键字忽然java中的this关键字有什么区别

2020-04-11 16:12:16  来源:http://www.capsicumpm.com  编辑:admin

java中为什么在static中不能使用this关键字

java中的static是类区域,换句话说就是所有该类的所有实例共享的区域,而this指的是当前的类实例索引。在类区域中是无法确定某个类实例的。eg。class A{private static Stirng Static = "123";}这个字符串Static所有A的实例都可以访问到。反过来,class A{public static void fun(){this // 这里不能使用 因为 static区域内不能确定是某个特定的A的实例}}

JAVA的switch关键字

你看你这个娃娃,程序只给一段,我们怎么判断。 不过,就此看来,你这个a和b应该是写在方法里面的。 那么这个时候,你还用this组撒,不要忘记了,this总是代表当前这个对象或者某个方法被某个对象指向的对象。 而this后面跟得,是类属性或者类方法 而这里的a、b应该是方法里面的变量,肯定不能用this指代了。 哎呀,你还给个完整版的,那我就继续回答你的疑问? 这个时候,你用了this,他本身没有错误。但是,switch的case后面跟得应该是常量,而你这个this就有问题了 你也知道,一个对象,他的变量名存储在栈内存中,而真正的实例对象,存储在堆内存中。也就是 People p=new People();这个p存在在栈,而new People()存储在堆内存中。p保存的是地址,这个时候,这个this就代表p.虽然你的a,b是不能改变的常量,但是这个p是可以改变的,他不是一个常量,他的地址可以随时更改,所以,整得p.a就是一个变量。为什么这么说呢,那么我们这个时候,在新建一个对象People p1=new People(); 这个时候,在p1中用this,那么他就表p1了,可是,p1.a和p1.b他的值还会是1,2.那么,this.a和this.b就是一个变量表达式了。 电脑是这样理解的。

关于Java中This关键字

第一、不一定是同一个对象。第二、this是指调用Run方法的对象。

求推荐一款java的编辑器,要求java语法的关键字能高亮显示,不要它自动补全代码以及括号,就像V

简单的话可以使用NotePad++,这没有代码提示功能,但是java语法可以高亮显示。高级一点的话可以使用Eclipse,一般上开发都是用它或者MyExcepse

java中有几种方法可以实现一个线程?用什么关键字修饰同步方法- stop()和suspend()方

有两种实现方法,分别是继承Thread类与实现Runnable 接口用synchronized关键字修饰同步方法反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。