请问大家, 为什么一个String的变量,就可以调用String类的方法呢,这个问题,是很弱,但是能有几个人答出来呢。
解决方案 »
- java如何实现鼠标拖动绘制虚框矩形,在画出矩形后矩形虚拟边框消失,矩形中间填充颜色?.
- 怎样获取cookie 存储区里的某个cookie的值
- 菜鸟一个 请高手帮忙解决一下Eclipse中import java.util.Date是程序不执行。
- 关于设定包的问题
- 求助关于从网络读取数据和发送数据的inputStream和outputStream的问题
- 求救!一些细节问题
- java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
- 如何把一个二进制数据文件转换成ASCII码
- JAVA 2D 的基础问题
- java swing做了一个小程序,导出jar后双击运行,不能执行查询!用命令执行和eclipse执行都没问题!
- 下午三点班面试 希望高手帮助一下。着急。
- JAVA初学者提问(很简单,30分)
创建了一个String 对象,就能调用其对应的方法
其实这个问题很难,简单地回答这是规则,面向对象的规则,java的规则
其实也就是语法,掌握了就好
jnp
]p-j
-
前者作为字符串变量,具有不可变的性质,无法改变。后者呢??是不是一样?
创建了一个对象
String s = new String("abc");
创建了两个对象
text.getBytes();//getBytes是string类的方法,
}
那这个过程text是new的String 类呢
String既然是对象,那么就应该可以调用它本身的方法
以及类似 Person stu = new Student() 等号左边 Person 和 stu,以及等号右边 new 和 Student()
的含义,以及 stu.getName() 中 stu、点和 getName() 的含义。Java 所创建的对象,会通过方法区去寻找类数据,最终会在堆中分配空间。某个类的方法在方法表中都存放着一个内存地址偏移量,只有在实例对象产生后,确定对象的首地址,
再通过方法表中的偏移量就能找到正确需要调用的方法了。通过方法表查找的方法是根本对象引用类型数据确定的,比如:Object obj = new Student(); 由于
对象引用是属于 Object 类型的,因此这个引用也只能查找到 Object 的方法的偏移量。因为 Object
属于任何类、数组的超类,因此会被存放在方法表索引的开头位置处。
lz认为做企业应用的我们需要知道这些吗?
呵呵,曾经在 CSDN 中看到不同三个人的回复时间的时、分、秒都是一样的。
是对象,就有方法,他不是基本类型,如int,是没有方法的,所有java有int的包装类IntegerString str = "abc"; abc是存储再字符池中,str是引用,指向了字符串池中的"abc",str是字符串类型的对象,可以调用该String类的方法
例如:String s1 = “abc”; String s2 = “abc” s1=s2 为 true
但是 String s1 = new String(“abc”); String s2 = new String(“abc”);s1=s2为false,是两个对象,因为使用了new
这个是 面向对象规定的
String类型的变量就是一个String类的实例,
当然可以调用String类的方法了!
String str="abc";
通常这样的表达式表示在常量池中创建了匿名对象,然后将str指向这个对象的地址。
str更确切的说是一个String类型对象,所以它是有方法的。
String对象就是一个String类的实例
所以可以就像鲤鱼会在水里游一样---因为他是鱼类
TechQ: Java, C/C++源码库
http://www.techq.com