java se-javase方面的一个小问题

问题描述

javase方面的一个小问题

在书上看到一个小例子里面有个语句是这样,getclass().getname();
我知道的是getclass()是object的方法,用的时候不应该是this.getclass().getname();吗
方法前面不是应该有个实例化的对象吗,为什么直接getclass().getname();就可以运行
getclass().getname();和this.getclass().getname();有什么区别吗
源代码如下

package day_11;

public class Test_getClass {

@Override
public String toString() {

return getClass().getName();
}
public static void main(String[] args) {
System.out.println(new Test_getClass());
}
}
就是感觉好奇怪,没有对象调用方法,像getClass().getName();
这样方法也能单独运行?

解决方案

this在这个地方代指当前对象,如果不加this的话也是从当前对象找,所以这两个方法执行的结果来看是一样的,但是执行的过程来讲是不一样的,所以尽量要加上,效率会更高些

解决方案二:

 public class Test_getClass {
@Override
public String toString() {//这是Test_getClass的类方法,内部调用没有指明都是当前对象可用的属性或者方法。
return getClass().getName();//当前类中,可以省略this,默认就是当前对象
}
}

解决方案三:

应该是在这个类中,直接调用的话,this可能是可以省略的吧,个人看法

解决方案四:

查看基类Object

时间: 2024-08-04 07:34:07

java se-javase方面的一个小问题的相关文章

对象-java中有关TreeSet的一个小疑问

问题描述 java中有关TreeSet的一个小疑问 看书上说java所有集合框架的具体类都至少有两种构造方式,一种是无参构造方法,一种是用另一个已有的容器来构造. 比如先前已经有了一个HashSet类的对象hh,但是他内部的元素是无序的,而我们这时再创建一个TreeSet(hh),他就会根据hh中存有元素自带的compareTo方法自动排好序,并且这个排序过程只进行一次.而如果我们将这些带排序的元素逐个加入到TreeSet中去,则就要加一次排一次序,会更耗时间. 请问,是不是有所遇到这种用到Tr

用Java SE 6.0实现高质量桌面集成开发

提要:本文将以具体的实例向你展示Java SE 6在桌面开发中所提供的一系列优秀特征. 一. 引言 随着Java SE 6 Beta的发行,Java开发者再也不需要自己去实现Java本机接口(JNI)便可以在其应用程序中加入桌面产品所具有的特征.这些桌面集成特征现在已成为内核的一个组成部分. 最新的Java标准版本6.0(代码名为Mustang)将在功能上进行一系列的改进--开发者们能够方便地用Java处理安全,JMX,操作系统文件,国际化和桌面开发等一系列问题.Sun在开发这个版本的过程中表现

Java SE 6 新特性: HTTP 增强

2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升.与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在脚本,WebService,XML,编译器 API,数据库,JMX,网络和 Instrumentation 方面都有不错

Java SE 6之GUI:让界面更加绚丽(上)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文曾发表于天极网:http://dev.yesky.com/185/2690685.shtml Java SE 6之GUI:让界面更加绚丽(下) Java是一种非常强大的编程语言,但Java的GUI能力一直是它的软肋.虽然Java提供2种图形解决方案,AWT和Swing.但这2种图形库的功能十分有限,使用它们并不能带来更多的用户体验.而且AWT和Swing的更新速度很慢.一直到Java SE 5也没什么明显的变化.幸好Java SE 6终于为它们

让界面更加绚丽 Java SE 6.0 GUI体验

Java是一种非常强大的编程语言,但Java的GUI能力一直是它的软肋.虽然Java提供2种图形解决方案,AWT和Swing.但这2种图形库的功能十分有限,使用它们并不能带来更多的用户体验.而且AWT和Swing的更新速度很慢.一直到Java SE 5也没什么明显的变化.幸好Java SE 6终于为它们增加了更强大的功能.有了这些功能,使用AWT和Swing设计的用户界面可以更贴近用户.为了使读者能够更早地体验Java SE 6 GUI的美丽,本文将就Java SE 6 GUI提供的主要功能进行

Java SE 6新特性: XML API与Web服务

2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Mustang 在性能方面有了不错的提升.与 Tiger 在 API 库方面的大幅度加强相比,虽然 Mustang 在 API 库方面的新特性显得不太多,但是也提供了许多实用和方便的功能:在 脚本,XML 和 Web 服务,编译器 API,数据库,JMX,网络 和 Instrumentation 方面都有不错

语言-关于java se 的小问题

问题描述 关于java se 的小问题 java语言程序设计第7章程序清单7-4 package Program7; import Program6.Program6_10GetCharacter; public class Program7_4 { public static void main(String[] args) { char[] chars = createArray(); System.out.println("The lowercase letters are: "

音频-我用java写了一个小游戏,想插入背景音乐但不太会,求指教

问题描述 我用java写了一个小游戏,想插入背景音乐但不太会,求指教 package text; import java.io.*; import javax.sound.sampled.*; public class text { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个实例 AePlayWave apw = new AePlayWave("G:\照片\Sleep Awa

Java内部类this$0字段产生的一个小bug

首先查看下面一段代码,我指出了问题代码的所在,读者先自己思考一下这段代码会有什么问题. 这是用clone方法完整拷贝一个二项堆(BinomialHeap)结构的代码.二项堆中包含一个内部类BinomialHeapEntry,这个内部类的对象即二项堆中的每一个结点,除了包含结点对应的关键字外,还记录父节点parent,下一个兄弟结点sibling和第一个孩子结点child三个指针.二项堆的根表通过每棵二项树根节点的sibling指针链接. cloneBinomialTree(BinomialHea