Fork me on GitHub

一天一个Java基础——对象和类

1.在Java中你所做的全部工作就是定义类,产生那些类的对象,以及发送消息给这些对象

2.可以在类中设置两种类型的元素:字段(也被称作数据成员)和方法(也被称作成员函数)

3.字段可以是任何类型的对象,可以通过其引用与其进行通信;也可以是基本类型中的一种。如果字段是对某个对象的引用,那么必须初始化该引用,以便使其与一个实际的对象向关联(使用new来实现)

4.可以把两个类放在同一个文件中,但是文件中只能有一个类是公共的。此外,公共类必须与文件同名

1.1 构造方法构造对象

  构造方法是一种特殊的方法,具有以下三种特殊性:
    1)构造方法必须具备和所在类相同的名字
    2)构造方法没有返回类型,甚至连void也没有
    3)构造方法是在创建一个对象使用new操作符时调用的。构造方法的作用是初始化对象
  构造方法也可以重载,也就是可以有多个同名的构造方法,但它们要有不同的签名

1.2 访问对象的数据和方法

  若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值(在类中可以声明无初始值的变量,但在方法中不能声明无初始值的临时变量)

  引用类型数据域默认值是null,数值类型默认值是0,boolean类型为false,char为‘\u0000’
  但是Java没有给方法中的局部变量赋默认值

  每个变量都代表一个存储值的内存位置,基本类型变量的内存中存储的是一个基本类型值,而引用类型变量存储的是一个引用,它指向对象在内存中的位置

  当引用变量被赋值予另一个新引用后,原来的引用的对象就不再有用,因此就变成了垃圾(garbage),占用了内存空间,所以Java运行系统会检测垃圾并自动回收它所占的空间,这个过程称为垃圾回收(garbage collection)

1.3 静态变量、常量和方法

  如果想让一个类的所有实例共享数据,就要使用静态变量(static variable),也称为类变量(class variable)。静态变量将变量值存储在一个公共的内存地址。因为它是公共的地址,所以如果某一个对象修改了静态变量的值,那么同一个类的所有对象都会收到影响。Java支持静态方法和静态变量,无须创建类的实例就可以调用静态方法(static method)

 1 public class test2 {
 2     public static void main(String[] args) {
 3         /*
 4          * 类中变量是否为静态的区别
 5          */
 6         Test4 t1 = new Test4();
 7         System.out.println(t1.id);
 8         t1.id = 4;
 9         System.out.println(t1.id);
10         Test4 t2 = new Test4();
11         System.out.println(t2.id);
12     }
13 }
14 class Test4{
15     /* 若为static int id = 1;
16      * 则运行结果为 1 4 4
17      */
18     int id = 1;
19     /*
20      * 运行结果为 1 4 1
21      */
22     public void a1(){
23         id++;
24     }
25     public void a2(){
26         id++;
27     }
28 }

 

posted @ 2016-04-05 21:30  郑斌blog  阅读(333)  评论(0编辑  收藏  举报