最近因为做项目的时候发现很多对基础方面的知识不牢固而耽误进度的事常有发生,解决问题的方式无非是问周围的同事(同学)或者是上度娘,有时感觉这么low的问题问别人很尬,无奈只能上网一顿搜,但是效果有可能很快就得到解决,或,差强人意好多资料要么是ctrl+c-ctrl+v的操作不管三七二十一直接发布,看贴的人一脸懵逼甚至是骂xx的都有。为此让自己的技术能够稳扎的向上激进抽空就要发布一篇基础。
今天学Java基础中的基础,何为对象?
记得有个例子比喻的非常恰当:可以想象有个遥控器(引用)来操纵电视机(对象)。只要握住遥控器,就能保持与电视机的连接。当换频道或者调音量时,实际操作的是遥控器(引用),再由遥控器来控制电视机(对象)。如果说在一个房间里我来回走动仍调控电视机,那么只需要携带遥控器(引用)操作就ok。
再者,就算没有电视机,遥控器也可以独立存在,因为你拥有一个引用,并不一定需要有一个对象与它关联。
代码:
创建一个String引用:
public class demo {
public static void main(String[]args){
String s ;
System.out.println(s);
}
}
这个只是创建了一个引用,并不是对象。如果此时向s发送一个消息,就会返回一个运行编译错误"可能尚未初始化变量s"!,这是因为此时s实际上没有与任何事物相关联(即,上面例子中所提到的电视机)。因此,一种安全的做法是:创建一个引用的同时便进行初始化。
String s = "初始化";
此初始化还用到了java语言的一个特性: 字符串可以带引号""的文本初始化。通常,必须对对象采用通用的初始化方法。
一旦创建了一个引用,就希望s能与一个新的对象相关联。通常用new来操作符来实现目的。new 关键字的意思是 "给我一个新对象"。所以前面的代码例子可以写成:
public class demo {
public static void main(String[]args){
String s=new String("给我一个新字符串");
System.out.println(s);
}
}
控制台: 给我一个新字符串
它不仅表示"给我一个新字符串",而且通过提供一个初始字符串,给出了怎样产生这个String的信息。