Java里的对象是引用,就像C的指针。对引用的赋值实际就是对指针的赋值,对象自己并无被赋值。java
对象的存储数组
基本数据类型:markdown
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
---|---|---|---|---|
boolean | - | - | - | Boolean |
char | 16bit | Unicode 0 | Unicode 2e16-1 | Character |
byte | 8bit | -128 | +127 | Byte |
short | 16bit | -2e15 | +2e15-1 | Short |
int | 32bit | -2e31 | +2e31-1 | Integer |
long | 64bit | -2e63 | +2e63-1 | Long |
float | 32bit | Float | ||
double | 64 | Double | ||
void | - | - | - | Void |
类由字段和方法构成ide
对于类的字段,经过new对象的方式为这个字段分配存储空间,这样才能对字段及方法进行访问。用static对类的字段和方法进行修饰后,这样的字段和方法称为静态字段和静态方法。静态字段和静态方法与类的对象不存在绑定关系,便可以在没有建立对象的状况下,经过类直接访问静态字段和静态方法。这是因为静态对象和静态方法在编译期就为它们建立了存储空间。函数
编译器:ideal工具
java程序文件的后缀为.javathis
每一个.java文件名最多包含一个public类,也能够没有public类idea
当指定某个类为public时,该类的类名必须与文件名相同spa
写代码时,须要用到其余类库,最经常使用的就是java自带的类库。使用import来引用类库。一个import的例子:指针
import my.example.java.Test
import的行为是,在classpath中指定的路径里查找my/example/java/Test.class文件,并加载
多个java代码能够经过package关键字申明成一个工具包
经过new来建立类的对象。每当调用new来建立对象时,java会调用构造器对象进行初始化。初始化完毕,意味着这个对象已经准备好对外提供服务了。
若是一个类没有显式提供构造器,则编译器会为该类自动生成一个默认构造器。
构造器采用与类名相同的名称。
class Rock {
Rock() { //This is the constructor
System.out.println("This is the constructor");
}
}
复制代码
Java支持构造器和方法的重载(不是重写override)
方法的签名:方法名+参数列表
经过方法的签名来区分重载,因此返回类型不做为区分重载的因素。
对当前对象的引用
有了this关键字能够实如今构造器中调用其余重载构造器,如:
class Rock {
public int id;
Rock(int id) {
this.id = id;
}
Rock() {
this(1);
}
}
复制代码
对类变量的初始化有两种方法:
初始化顺序:
经过new建立对象时,对象的初始化顺序:
public class Rock {
public int id = 1; //initialization when define
public String name;
public static String greeting1;
public static String greeting2;
public static int age = 1000;
static{
greeting1 = "Hello"; //explicitly initialization
}
Rock(String name) {
this.name = name; // initialization in constructor
greeting2 = "Hi";
}
public String location1 = "Shanghai";
public String getName(){
return name;
}
public String location2 = "China";
public String getLocation(){
return location1 + " - " + location2;
}
public void greeting(){
System.out.println(this.greeting);
}
public static void main(String[] args){
Rock r = new Rock("Robin");
System.out.println("Name: " + r.getName());
System.out.println("Location: " + r.getLocation());
r.greeting();
}
}
复制代码