Java引用数据类型的声明与创建

一 java语言中变量可分为两种:1.成员变量2.局部变量。

二 数据类型也可分为两种:1值类型,即基本类型,共四类八种,分别为boolean、char、byte、short、int、long、float、double;2引用类型,可类比为C++中的指针,不过java中没有指针这一概念,也不允许程序猿显示的操作堆栈等内存空间,一定程度上避免了C++中对指针操作不当造成的内存泄露等一系列问题。

三 学习JAVA这门面向对象的语言,实质就是不断地创建类,并把类实例化为对象并调用方法。

四 类的声明与创建对象就是针对数据类型中提到的引用类型而言的,下面主要介绍类的对象的声明与创建,结合到自己对堆栈知识的理解,可能有表述不当或者错误的地方,如若读者看到还望一定帮忙指出,在此先行谢过。

在java中要使用类的对象一般要经过两个步骤,即对象的声明与创建。下面创建一个Person类帮助说明问题。

 1 public class Person{
 2     //成员变量
 3     String name;
 4     int age;
 5     String sex;
 6     
 7     
 8     //方法
 9     public void speak() {
10         System.out.println("跟着我有肉吃");
11     }
12     
13     public void run() {
14         System.out.println("人在跑。。。。");
15     }
16 }
17 
18 
19 public class Test {
20 
21     /**
22      * @param args
23      */
24     public static void main(String[] args) {
25         // TODO Auto-generated method stub
26         Person p1 = new Person();
27         Person p2 = new Person();
28         
29         p1.name = "Jim";
30         p2.name = "Kite";
31         
32         p1 = p2;
33         p1.name = "Sheldon";
34         
35         int a = 10;
36         int b = 5;
37         a = b;
38         a = 3;
39         
40         System.out.println(p1.name);
41         System.out.println(p2.name);
42         System.out.println(a);
43         System.out.println(b);
44         
45         
46     }
47 
48 }

首先,Person p1=new Person();语句实际上同时完成了对象的声明与创建,可以分开这样写: 1 Person p1; 2 p1=new Person(); 声明对象只在栈中声明指针类型的变量,不在内存中存储具体的数值,而只存放另一块堆中内存的地址。创建对象在java中一般用new关键字, p1=new Person();这行代码一共做了两件事情:第一件是在堆中分配一块存放学生具体数值的内存,第二件是把这个内存的首地址赋给上面声明的指针变量。下面我们就可以通过对象名.属性名访问具体属性了。对象必须创建后才能使用,如果只声明不创建,那么调用对象属性和方法时将会报空指针异常(NullPointerException)。

五 结合上面的代码再说明一个问题。上面代码执行后分别输出:Sheldon  Sheldon 3 5 。下面进行思路分析:

1先分析基本数据类型。首先是赋值操作,10赋值给a,5赋值给b,此时b的字面值为5,a的字面值为10。然后b(字面值=5)赋值给a,此步赋值操作后a=5,b=5。最后,3赋值给a,此时a=3,b=5。这是基本数据类型的连续赋值,很好理解。

2接下来分析引用数据类型的赋值操作。画两个图就完全可以解释清楚了。

同样的数组的声明与创建是一样的道理。

OK,时间不早了,洗洗睡了。

 

转载于:https://www.cnblogs.com/rzhy007/p/4631637.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值