浅谈JAVA中类和对象的理解

   我们知道编程语言是一个帮助我们和计算机“对话”的工具,我们可以通过它去让计算机做一些事。而JAVA语言又是其中的高级语言,那么什么是高级?机器语言和人类语言之间有着巨大的鸿沟,人们不断的想要跨过这个鸿沟,在这个过程中出现了一些“工具”,就是所谓的编程语言。通过这些语言我们也实现了和计算机沟通的能力,但是这些语言依然和自然语言有很大的差别,以至于学习这些语言变得困难,在这个问题上人们也在不断的改进,努力想创造出离我们的自然语言较为相近的编程语言。那么在目前为止JAVA语言可以说是相对比较接近自然语言的一种高级语言。在学习JAVA时不妨用自然语言去理解它。

  一个JAVA程序是由不同的类组成的,但是程序所直接运行的却不是类,而是对象,对象是它所对应的类的实例化的一个实体。这个“类”和我们生活中的类型有着相同的理解,其实仔细想想我们的生活也是由很多不同类型的事物组成的。举一个例子,比如你突然想吃水果了,你和妈妈说给你一个水果,这个时候妈妈是不知道拿给你什么东西的,你只有说出一个具体的水果名,比如苹果,妈妈才会给你一个苹果。在这个例子中水果就相当于类,而苹果相当于对象,在JAVA中也是这样的当你想用一个类时,你不能直接调用这个类,必须要实例化(就相当于你要说出苹果这个词),这个过程就是实例化对象。

类中有三个元素,属性(一般是静态的特征),方法(可以理解为功能),构造器(也叫作构造方法)。

看下面这段代码:

 public class Fruit {   //定义了一个水果类

              public Stringname;  //定义名字属性

              public double weight;  //定义重量属性

              public void f(){   //定义水果功效的方法

                            System.out.println(name+"有某种功效");

              }

              public static void main(String[] args){   //主函数

                            Fruit f1=new Fruit();  //实例化对象

                            f1.name="苹果";  //调用名字属性并赋值

                            System.out.println("我想要一个"+f1.name);

                            }

}

  下面再来简单解释一下实例化对象就是Fruit f1=new Fruit();这句代码在内存中做了一些什么事,也就是对象的存储方式。

首先我们要知道在内存中是开辟了两个空间,一个是栈,还有一个叫堆。

执行这条指令时其实做的事是:

   1.定义了一个f1的变量,此时把这个变量放入栈里;   Fruitf1

   2.然后new这个关键字构造了Fruit的实例,这时把Fruit这个类里面的属性,方法存入堆里。

   3.最后还有一个赋值符号“=”,这个等号其实就相当于给力变量f1一个地址(Fruit在堆里的地址)。这个时候就把类和这个变量f1联系到一起了。

注:1.栈里面存的是地址

2.在java中规定,程序是不能直接访问堆里的内容的,必须要通过引用。也就是通过访问f1,间接访问Fruit。





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值