理解Java的类和对象

接触 Java

从大二开始接触 Java,至今也有 3 年了,大学虽然会用 Java 编写一些诸如 JSP + Servlet + JavaBean 的 Web 应用和 jar 记事本应用,但对 Java 中类及对象的理解始终不够深刻。

深入 Java

这段时间通过对 Java 更系统的学习,加上一些金融通信领域的项目实践,对面向对象编程、类及对象有了更深刻的理解。

Java 原始数据类型

严格来讲,Java 不是一门纯面向对象的编程语言,这是由于它保留了一些原始数据类型(primitive type),这些原始数据类型包括:byte, short, int, long, char, float, double, boolean。

Java 语言始于 C 语言,在创造之初,工程师参考了很多 C 语言的语法风格,这就是这些原始数据类型的来源。

这些原始数据类型并非一无是处,它们极大程度上方便了我们的编程。同时 Java 的创造者们为这些原始数据类型提供了它们对应的包装类, Java 5.0 之后,自动装箱/拆箱能够很方便的在基本类型和包装类型间转换。在某些特定的情况下,我们可以使用基本类型的包装类。

提示:原始数据类型的取值不能为 null ,但在及特殊的情况下,我们需要用null来确定这个对象是否存在。

注意:某些读者可能认为用 0 可以来表示不存在的对象,在编程中 0 有特殊含义不能表示不存在。例如,我们用 int sum;来表示班级总人数,此时 0 表示这个班级还一个人都没有加入,并不表示这个班级不存在,如果使用 Integer sum;来表示班级总人数,就不会存在此类问题,我们可以用 0 表示这个班级还没有一个人,用 null 表示这个班级不存在。

理解 Java 类和对象

类是对自然世界同一种类事物的抽象,而对象是对类的一个引用。

万事万物皆对象。

例子:人是同一种类的动物,人可以分为男人、女人,更加细分可以分为男孩、男青年、老爷爷、女孩、女青年、老婆婆。

在不同的应用领域,可以对人进行不同的划分。

类/对象

如图所示:是一个类,设计时我们可以把设计为一个抽象类,男人女人都继承自这个类,我们还可以将男人女人更加细分。而小明小强是对象,它们是对类的一种引用,可以通过对象访问类下面的非私有属性(Field)已经方法(Method)。

public class Test(){
    @Test
    public void test(){
        // 创建一个对象,未实例化
        Boy xiaoming;
        // 将对象 xiaoming 实例化
        xiaoming = new Boy();
    }
}

class Boy(){
    public Boy(){
        super();
    }
}

Boy xiaoming;
此时创建了一个对象,它是一个空对象,需要实例化。

xiaoming = new Boy();
对象实例化,即在内存中开辟一块空间并将变量 xiaoming 指向该空间。

结语

这里我们可以把对象看成是一个“指针”,当我们未将对象实例化时,我们不能去使用这个对象,因为它不“存在”(在内存中指向 null ),只有当我们调用类构造方法将对象实例化后, JVM 在内存中开辟一块空间,并将该对象指向内存中的这块空间
此时这个对象才算创建完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值