×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 3932|回复: 12

从机理欣赏语言 JAVA篇 1

[复制链接]
发表于 2007-2-24 16:35:48 | 显示全部楼层 |阅读模式
在JAVA面向对象的设计中,有一个相当重要的概念,那就是引用。什么是引用呢?引用实际上就是把一个标识符绑定给一个对象。

[补充]在C++中,引用和指针有什么区别?
在C++中,引用是直接使用数据的,而指针则是间接使用数据

从JAVA的语法,引用是JAVA的面向对象属性的具体表现。如果需要使用一个引用,我们要做的是声明引用和分配空间。例如,
Character C=new Character(‘x’);
起初我对此种用法感觉到莫名,也不太习惯。原以为是因为和C\C++不同,实际上并非如此,而是我并不理解JAVA的文化。
例如,首先初始化了两个引用
Character C1=new Character(‘x’);
Character C2=new Character(‘y’);
然后执行
C1=C2;
其实以上语句做的事情,将C2引用赋值给C1引用。虽然输出C1和C2都是输出一个y,但是进行的操作并非字符的复制,而是引用的复制。

现在定义了这样一个类
class Point
{
        Point()
        {
                x=0;
                y=0;
        }
        int x;
        int y;
}
又如,在使用的时候就很容易犯这样的错误,
public class Example
{
        private Point pt1;
        public static void main(String args[])
        {
                pt1=        new Point();
        }
};
如果编译这样的代码,一定会出错。为什么呢?JAVA对类的分静态与非静态元素处理是不同的。静态元素是存在于对象建立之前,非静态元素则只存在于对象建立以后。这也是JAVA的一大特点。因此对此段代码的修改,有三种方法:
一是实例化Example类
public class Example
{
        private static Point pt1;
        public static void main(String args[])
        {
                pt1=        new Point();
        }
};
二是把pt1定为静态数据
public class Example
{
        private Point pt1;
        public static void main(String args[])
        {
                Example ex=new ex();
                ex.pt1=        new Point();
        }
};
三是将pt1作为main函数中的变量
public class Example
{
        public static void main(String args[])
        {
                Point pt1 =new Point();
        }
};

评分

参与人数 1 +5 +5 收起 理由
肥鱼 + 5 + 5 对论坛做出贡献

查看全部评分

发表于 2007-2-24 17:18:09 | 显示全部楼层
不错..支持下
发表于 2007-3-27 23:18:09 | 显示全部楼层
。。。。不太明白~
发表于 2018-9-24 21:14:50 | 显示全部楼层
很不错。。。
回复 支持 反对

使用道具 举报

发表于 2018-9-24 20:49:51 | 显示全部楼层
顶顶多好
回复 支持 反对

使用道具 举报

发表于 2018-9-24 20:53:18 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

发表于 2018-9-24 20:42:58 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:26:16 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:13:45 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:04:37 | 显示全部楼层
很好哦。。。
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:37:38 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:57:01 | 显示全部楼层
LZ真是人才
回复 支持 反对

使用道具 举报

发表于 2018-9-24 21:33:35 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [免费注册]

本版积分规则